Source Control – Distributed Systems vs. Non Distributed – What’s the difference?

The difference is in the publication process: a CVCS (Centralized) means: to see the work of your colleague, you must wait for them to publish (commit) to the central repository. Then you can update your workspace. You are an active producer: if you don’t publish anything, nobody sees anything. You are a passive consumer: you … Read more

Locking binary files using git version control system

Subversion has locks, and they aren’t just advisory. They can be enforced using the svn:needs-lock attribute (but can also be deliberately broken if necessary). It’s the right solution for managing non-mergeable files. The company I work for stores just about everything in Subversion, and uses svn:needs-lock for all non-mergeable files. I disagree with “locks are … Read more

how to ignore files in kiln/mercurial using tortoise hg “that are part of the repository”

I always use a combination of .hgignore and BeforeBuild (in the .csproj file) for things like this. In one of my pet projects, I have the following setup: App.config contains my real hardcoded user id and password for testing. App.config.example is identical, but with fake data like “dummy_user” and “dummy_pw”. App.config is not part of … Read more

How can I see incoming commits in git? [duplicate]

incoming isn’t quite a direct mapping in git because you can (and I often do) have multiple repos you’re pulling from, and each repo has multiple branches. If there were an equivalent of hg’s incoming command, it’d probably be this: git fetch && git log ..origin/master That is, “go grab all of the stuff from … Read more

What’s the best three-way merge tool? [closed]

KDiff3 open source, cross platform Same interface for Linux and Windows, very smart algorithm for solving conflicts, regular expressions for automatically solving conflicts, integrate with ClearCase, SVN, Git, MS Visual Studio, editable merged file, compare directories Its keyboard-navigation is great: ctrl-arrows to navigate the diffs, ctrl-1, 2, 3 to do the merging. Also, see https://stackoverflow.com/a/2434482/42473

Git interoperability with a Mercurial Repository

There’s a new git-remote-hg that provides native support: Bridge support in Git for Mercurial and Bazaar Just copy git-remote-hg to your $PATH, make it executable, and that’s it, no dependencies (other than Mercurial): git clone hg::https://www.mercurial-scm.org/repo/hg/ You should be able to push and pull from it as if it was a native Git repository. When … Read more

Git under windows: MSYS or Cygwin?

Edit (2 more years later: October 2014) Johannes Schindelin just explained (Oct. 2014) that msysgit is phased out: we now have a light-weight Git for Windows SDK – which is essentially a standard MinGW/MSys system managed through the package manager mingw-get. We decided to just phase out the name “msysGit” (as well as the GitHub … Read more