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

3
votes
5answers
2k 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 ...
67
votes
7answers
41k views

Are there open source alternatives to Bitbucket, Github, Kiln, and similar DVCS browsing and management tools? [closed]

I am aware of several tools/services that provide DVCS browsing and management such as Bitbucket, Github, Kiln, SCM-Manager and Rhodecode. However, the use case I am considering is one such that: ...
27
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 ...
12
votes
4answers
728 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 ...
27
votes
8answers
4k 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?
4
votes
2answers
154 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 ...
25
votes
5answers
2k 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 ...
3
votes
3answers
1k views

Can you close branches in Git?

In Mercurial you can close a branch like this: hg commit --close-branch, this means the the branch will not be listed anymore but will still exist, and can still be listed if you use hg branches ...
6
votes
2answers
470 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 ...
2
votes
3answers
357 views

Release Management Tools with DVCS (Mercurial)

My development team is migrating from SVN to Mercurial. Having researched DVCS best practices, it has been suggested that we develop against feature branches of the repo mainline, test them ...
22
votes
6answers
1k 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 ...
9
votes
3answers
475 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 ...
13
votes
2answers
1k 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 ...
8
votes
4answers
290 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? ...
11
votes
11answers
821 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 ...
7
votes
3answers
696 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 ...
6
votes
4answers
2k 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 ...
249
votes
11answers
23k 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 ...
-3
votes
1answer
405 views

Why can Perforce be a better version control system? [closed]

I've seen some people love and some loathe Perforce. As users or administrators with experience with other version control systems (free cookie to the ones with DVCS experience [git, Mercurial]), what ...
3
votes
2answers
428 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 ...
11
votes
5answers
394 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 ...
5
votes
3answers
183 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. ...
16
votes
3answers
776 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 ...
2
votes
1answer
165 views

Can DVCSs enforce a specific workflow?

So, I have this little debate at work where some of my colleagues (which are actually in charge of administrating our Perforce instance) say that workflows are strictly a process thing, and that the ...
4
votes
6answers
690 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 ...
21
votes
4answers
2k 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 ...
8
votes
1answer
206 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 ...
4
votes
4answers
359 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 ...
8
votes
1answer
427 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 ...
6
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 ...
9
votes
3answers
359 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 ...
12
votes
4answers
956 views

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

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 ...
19
votes
6answers
550 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 ...
5
votes
1answer
1k 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 ...
13
votes
17answers
2k 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 ...
1
vote
2answers
213 views

Will the customer benefit from a DVCS in any way?

Some of us can say a Distributed Version Control System (e.g. Mercurial, git) will have a positive impact on developers only out of the experience of using one (under the right conditions: higher ...
2
votes
2answers
191 views

Is it an absolute must that we ignore/delete all compiled files before committing?

I am working on a Drupal theme. I am going to be using "intermediary" languages to develop it, ie Stylus for styles, and CoffeeScript for some of the front-end scripts. I am going to be using a git ...
3
votes
2answers
484 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 ...
3
votes
4answers
316 views

Will adopting a DVCS mean there will be a positive impact on development speed?

I was wondering how safe is to say that —because developers are free to version and have better and more organic workflows— code will be delivered faster. A big factor here is team size of course, ...
8
votes
3answers
781 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 ...
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 ...
7
votes
3answers
373 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 ...
5
votes
2answers
441 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 ...
4
votes
2answers
306 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 ...
5
votes
3answers
552 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 ...
11
votes
4answers
444 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 ...
8
votes
2answers
4k 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
3answers
814 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 ...
3
votes
3answers
327 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 ...
1
vote
2answers
384 views

What can be done to stop losing resources and unify Mercurial and Git? [closed]

Both Mercurial and Git were created as a replacement for the same program and to solve the same problem which you can read about in Martin Beckett's answer to How did Git and Mercurial develop so ...