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

16
votes
4answers
3k 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 ...
3
votes
1answer
85 views

Dividing up the work of a large code merge among multiple people?

This question is related to this one: Why not commit unresolved changes? When needing to merge a large code base with many conflicts, I would like to have a way to commit progress to be shared ...
15
votes
7answers
701 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 ...
4
votes
1answer
974 views

Why aren't there cherry-pick requests?

One disadvantage to pull requests (aka merge requests) is lots and lots of merge commits. It's not the worst thing, but it does clutter the commit logs, and make for lots of unnecessary ...
12
votes
3answers
2k 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
216 views

Is there any downside to commit messages containing the ticket number

I was wondering if it would be good practice for commit messages to contain the ticket number they were apart of. It would be like 2568 Fix heating issue Summary of the issue with a bunch ...
10
votes
2answers
299 views

Why do DVCSes seem to all have an irrational phobia of uncommitted changes?

Coming from a SVN background, one of the hardest things to get used to when working with DVCS systems is the way they all seem to regard any uncommitted change whatsoever like a ticking time bomb. In ...
4
votes
1answer
96 views

Code licensing injection and version control history

Are there licensing ramifications to having GPLed code in a public git history, but not a released version of the distributed software? Could a repo owner be obliged to changing their licensing ...
18
votes
17answers
4k views

Why should I write a commit message?

Why should I write a commit message? I don't 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 every time even if ...
13
votes
6answers
1k 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 ...
6
votes
1answer
2k views

Should I commit regularly in new projects? [duplicate]

TL:DR; Shall I start comitting regularly small pieces of code in new projects? Even if I'm start from scratch and don't have any experience in what I'm using (framework, programming language, w/e)? ...
5
votes
2answers
794 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 ...
12
votes
6answers
7k 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 ...
10
votes
1answer
3k 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 ...
6
votes
2answers
185 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 ...
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 ...
12
votes
4answers
978 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 ...
32
votes
8answers
7k 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
232 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 ...
43
votes
5answers
7k 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 ...
5
votes
3answers
4k 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 ...
7
votes
2answers
755 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
537 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 ...
24
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 ...
9
votes
3answers
518 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 ...
8
votes
4answers
310 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? ...
12
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 ...
6
votes
4answers
5k 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 ...
276
votes
10answers
31k 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 ...
-2
votes
1answer
615 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 ...
5
votes
3answers
258 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
858 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
185 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
752 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 ...
25
votes
4answers
5k 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 ...
9
votes
1answer
250 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
377 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
495 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
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
417 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
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 ...
19
votes
6answers
575 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 ...
1
vote
2answers
232 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
248 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
509 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
334 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, ...
10
votes
3answers
2k 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 ...
19
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
406 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
506 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 ...