Decentralized version control (DVCS) keeps track of software revisions and allows many developers to work on a given project without necessarily being connected to a common network.

learn more… | top users | synonyms

262
votes
10answers
26k views

I'm a Subversion geek, why should I consider or not consider Mercurial or Git or any other DVCS?

I try to understand the benefits of distributed version control system (DVCS). I found Subversion Re-education and this article by Martin Fowler very useful. Mercurial and others DVCS promote a ...
30
votes
8answers
6k views

Can you recommend a good commit message template / guidelines to enforce in the company? [closed]

In Git it's possible to set and enforce a good commit template. Can you recommend (preferably with argumentation) a good commit template / guidelines to enforce in the company?
29
votes
5answers
4k views

Why do so many websites prefer “git rebase” over “git merge”?

One of the advantages of using a DVCS is the edit-commit-merge workflow (over edit-merge-commit often enforced by a CVCS). Allowing each unique change to be recorded in the repository independent of ...
29
votes
10answers
2k views

Do DVCSes discourage continuous integration?

Say there is a team of ten agile developers. Every day they each pick a task from the board, commits several changes against it, until (by the end of the day) they have completed the task. All ...
26
votes
11answers
1k views

Business case for decentralized version control systems

I searched and couldn't find any business reasons why git/mercurial/bazzr systems are better than centralized systems (subversion, perforce). If you were trying to sell a DVCS to a non-technical ...
22
votes
6answers
2k views

Is version history really sacred or is it better to rebase?

I've always agreed with Mercurial's mantra 1, however, now that Mercurial comes bundled with the rebase extension and it is a popular practice in git, I'm wondering if it could really be regarded as a ...
22
votes
4answers
4k views

I am a git user confused by mercurial's branching. How am I supposed to track small changes?

I've always used git before, but I want to contribute to python so now I have to learn mercurial and I find it very frustrating. So, I've made a couple of small patches and I wanted to track them as ...
22
votes
4answers
999 views

We're Subversion Geeks and we want to know the benefits of Mercurial [closed]

Having read I'm a Subversion geek, why should I consider or not consider Mercurial or Git or any other DVCS. I have a related follow up question. I read that question and read the recommended links ...
19
votes
6answers
560 views

Headaches using distributed version control for traditional teams?

Though I use and like DVCS for my personal projects, and can totally see how it makes managing contributions to your project from others easier (e.g. your typical Github scenario), it seems like for a ...
18
votes
4answers
1k views

Are there advantages to using a DVCS for a solo developer?

Right now, I use visual svn on my server, and have ankhsvn/tortoise on my personal machine. It works fine enough, and I don't have to change, but if I can see some benefits of using a DVCS, then I ...
16
votes
3answers
805 views

Is a code review which uses only code comments a good idea?

Preconditions Team uses DVCS IDE supports comments parsing (like TODO and etc.) Tools like CodeCollaborator are expensive for budget Tools like gerrit are too complex for install or not usable ...
15
votes
17answers
3k views

Why should i write a commit message?

Why should i write a commit message? I dont want to and i think its stupid every single time. A gui frontend i use which will go unnamed forces you to do it. I hear other doing it everytime even if ...
14
votes
3answers
2k views

Workflow: Using binary document formats in Git without locks (moving from subversion)

We're a software consultancy with a multitude of projects for different customers. We traditionally use Subversion, but are currently considering moving to Git. A significant portion of the documents ...
12
votes
4answers
840 views

Stopping developers committing to the wrong branch on DVCS

The problem I am on a software project which has about 10 developers, we share source code via Mercurial. We have a development and production branch per release. Repeatedly during the course of the ...
12
votes
4answers
1k views

Where could Distributed Version Control Systems currently be in Gartner's hype cycle? [closed]

Edit: Given the recent downvoting (+8/-6 at this point) it was made clear to me that Gartner's lifecycle is a biased metric from a programmer's perspective. This is something that is part of a paper ...
12
votes
5answers
461 views

Why not commit unresolved changes?

In a traditional VCS, I can understand why you would not commit unresolved files because you could break the build. However, I don't understand why you shouldn't commit unresolved files in a DVCS ...
11
votes
11answers
1k views

How do you explain the importance of using a [distributed] version control system to someone who's not in the CS field? [closed]

A good example of someone who fits that description might be a project manager. I was asked by my boss the other day, "what this Github thing is and why it's important?" He has some proprietary ...
11
votes
4answers
454 views

Didactic approaches to teach versioning with Git [closed]

I have already taught versioning with Git, but I think it could be more enjoyable for the guys I teach if I use another approach to teach them. The guys I mentioned before were used to working with ...
11
votes
1answer
466 views

How did Git and Mercurial develop so similarly at the same time?

Git and Mercurial follow similar models and have similar terminology. Mercurial's initial release was was only 12 days after Git's. How did these two projects, in initial development at the same ...
10
votes
2answers
5k views

Is there a difference between merges in svn compared to git or mercurial?

From my understanding SVN is 'Easy to branch. Difficult to merge'. Why is that? Is there a difference how they merge?
10
votes
1answer
2k views

Why do Git/Mercurial repositories use less space?

I've read on several discussions here and on SO that DVCS repositories use about the same or less space than their centralised counter-parts. I may have missed it, but I haven't found a good ...
10
votes
3answers
937 views

Patterns for Continuous Integration and DVCS

We currently use Subversion and TeamCity, we're going to move to using Mercurial (specifically Kiln as we're FogBugz users). Obviously this will result in changes - hopefully improvements - in our ...
9
votes
3answers
492 views

What GUI tools are available for which DVCS? [closed]

When I worked at Sun, we used a DVC system called Forte SCCS/Teamware, which used the old SCCS file format, but was a true distributed source code revision control system. One nice feature is that it ...
9
votes
3answers
1k views

Does Git have a “safe mode” to prevent rewriting history?

When you're kind of fresh with Git (and DVCS in general), and you start exploring history-rewriting changes, you're safe if the repository is only local, but you might run into problems if you work ...
9
votes
2answers
860 views

Do large mercurial repositories suffer from a “push race”?

Reading a few "Why a DVCS is better" answers to several question on Programmers.SE they all seem to say that in general, DVCS is better since you don't have a commit race in large projects, IE commit, ...
9
votes
3answers
383 views

dvcs - is “clone to branch” a common workflow?

I was recently discussing dvcs with a coworker, because our office is beginning to consider switching from TFS (we're a MS shop). In the process, I got very confused because he said that although he ...
8
votes
1answer
220 views

DVCS blessed repo replication among geographically distributed teams

My company is exploring the move from Perforce to a DVCS and we currently use lots of Perforce proxies because the software development teams are spread over Germany, China, USA and Mexico and ...
8
votes
4answers
298 views

Shorter release cycle with DVCS

Does the choice of using a DVCS over a CVCS actually make for shorter release cycles? If so, what makes software release cycles shorter and what are the arguments for this? Related to pull request? ...
8
votes
1answer
464 views

Integrating different branches from external sources into a single Mercurial repository

Edit: Making this even clearer as the bounty is about to expire: is there a way of importing history (pulling from different SCM) directly into a specific branch with Mercurial? I'm currently ...
7
votes
6answers
1k views

Interviews: How far to go on DVCS experience?

I've been interviewing some potential interns for a project I'm working on. We use git, so I'm looking for someone familiar with DVCS (or SVN/CVS or a desire to learn). A response that threw me off ...
7
votes
3answers
385 views

Training a company to use a DVCS coming from a CVCS mindset, is it as hard as one would think?

So, I'm preparing to consider the outcome of training a lot of people (>25) to use Mercurial coming from a centralized mindset. I've done it with individuals and had success with it, although the time ...
7
votes
3answers
1k views

Branching breaks continous integration?

I think this article, A Successful Git Branching Model, is very well known among experienced DVCS users. I use hg mostly, but I would argue this discussion is fine for any DVCS. Our current ...
7
votes
2answers
584 views

Feature branches, beta branches, and scrapped features

I've been thinking a lot about best practices regarding branching in distributed version control systems such as git an mercurial (the two dvcs's I have experience with and use on a daily basis). The ...
7
votes
5answers
3k views

Handling (many) multiple projects in Git in an enterprise environment

One of the advantages of older version control systems such as CVS and SVN in enterprise development is that anyone can connect to source control and see all the projects that the company has. This ...
6
votes
6answers
4k views

What's so difficult about SVN merges?

Possible Duplicate: I’m a Subversion geek, why should I consider or not consider Mercurial or Git or any other DVCS? Every once in a while, you hear someone saying that distributed version ...
6
votes
4answers
3k views

Working with Git on multiple machines

This may sound a bit strange, but I'm wondering about a good way to work in Git from multiple machines networked together in some way. It looks to me like I have two options, and I can see benefits on ...
6
votes
1answer
275 views

What is a good toy project to teach an introduction to DVCS?

Context I will be coaching student's programming projects in my engineering faculty (group of <10 students). At this occasion I wanted to draw the student's attention to the usefulness of version ...
5
votes
2answers
471 views

Is switching from a CVCS to a DVCS a considerable bandwidth save?

So, I'm in a big geographically-distributed company, we use perforce and I'm starting to make the case for a DVCS with a whitepaper I was requested to write. I was thinking that one of the arguments ...
5
votes
3answers
604 views

Moving from a CVCS to a DVCS in a big company, what is the right way to do it?

Major Edit: Added more info about how the devs are setup and how a DVCS would help, so you don't have to second guess the DVCS (but you are still welcome to do it =P). I just started a new job and ...
5
votes
2answers
146 views

What is the argument for never forcing a push in a DVCS (Mercurial)?

I always preach never to force push anything, because that adds ambiguity to the repository server. In this specific example, we collaborate with a customer and they "skip a step" and force push ...
5
votes
3answers
225 views

Is a “model” branch a common practice?

I just thought it could be a good thing to have a dedicated version control branch for all database schema changes and I wanted to know if anyone else is doing the same and what have the results been. ...
5
votes
2answers
502 views

GIT branch model for derivative work

I'm planning on using Vincent Driessen's branching model which I found great for my current development. I think Vincent approach is very general to any development project but I'm finding it ...
4
votes
3answers
192 views

DVCS and different versions of the same Product

Let's say that we have an application, with two (or more) different versions. E.g. Professional and Lite editions. What would be the best way to keep the source under version control (DVCS in ...
4
votes
2answers
175 views

Sharing only part of code with git

The situation I have code which has features X and Y. Bob needs access to the code to help develop feature X further. Normally I would allow Bob to clone the code, but the problem is that feature Y ...
4
votes
2answers
340 views

Is security a real argument for centralized version control?

I'm trying to understand if security is a real concern, or if distribution actually does a better job with security. See, the access to the main source repository could be layered and inherently ...
4
votes
3answers
434 views

Is it fine to have broken intermediate commits, as long as the final commit in any push works?

Related: Should every git commit leave the project in a working state? Suppose I make the following commits locally: Modify the database schema, breaking the application. Update the application so ...
4
votes
2answers
587 views

Is Perforce as good at merging as DVCSs?

I've heard that Perforce is very good at merging, I'm guessing this has to do with that it tracks changes in the form of changelists where you can add differences across several files in a single ...
4
votes
6answers
730 views

How to set up for selective pushing with Mercurial?

I have a situation, when I'm working on a project, but at same time small issues arise which require quick fix. I would like to push just the fixes for these problems to the main repo while keeping ...
4
votes
4answers
369 views

Understanding my dvcs workflow

We are going to be building a new project using Mercurial as our version control system. I'm still trying to fully understand what my workflow should look like, so I've listed below a case that I ...
3
votes
2answers
492 views

Are any companies moving from DVCSs to CVCSs? [closed]

Are there any actual business cases that have made any company move from a DVCS to a CVCS (regardless of whether they were on a CVCS originally)?. Other than having a closed mind and rejecting the ...