Git version control system: handling concurrent development in distributed environments
Speaker(s) : Marek Zawirski
Distributed version control systems (DVCS) constitute a recent trend in version control systems. They are quickly dominating the market, by changing the perception of version control system usage. DVCS brings a truly distributed system among developers, where each one maintains own repository and may synchronize directly with other developer's repository.
Git is one of the most popular DVCS. It is an efficient, production-ready open source software used to maintain major projects like Linux kernel or Google Android. Its rich history representation, while being easy to understand at conceptual level, allows to offer users with extensive set of features that were hard or impossible to realize before.
In this talk I will introduce the concepts of Git as a DVCS, by showing the way Git deals with concurrent development in a distributed environment. In particular, I will discuss the representation of development history as a graph of objects, showing its capabilities and applications. Protocols used to synchronize repositories will be presented, as well with techniques used to reduce network transfer and disk storage.
Marek Zawirski was involved in Git development as a Google Summer of Code 2008 participant, implementing synchronization operation in JGit project
Lamia.Benmouffok (at) null