Handling renames: svn vs. git vs. mercurial

Git doesn’t track renames at all, but uses heuristic to re-discover them during merge etc. Mercurial tracks renames (the origin version and origin file is recorded) and uses that information during merges. So you have to explicitly tell hg about renames with hg mv, or use hg addremove –similarity for auto-discovery. There has been some … Read more

Mercurial .hgignore for Visual Studio 2010 projects

The new things are related to MSTest stuff. This is the one that I use: # use glob syntax syntax: glob *.obj *.pdb *.user *.aps *.pch *.vspscc *.vssscc *_i.c *_p.c *.ncb *.suo *.tlb *.tlh *.bak *.[Cc]ache *.ilk *.log *.lib *.sbr *.scc *.DotSettings [Bb]in [Dd]ebug*/** obj/ [Rr]elease*/** _ReSharper*/** NDependOut/** packages/** [Tt]humbs.db [Tt]est[Rr]esult* [Bb]uild[Ll]og.* *.[Pp]ublish.xml *.resharper *.ncrunch* … Read more

Mercurial: Can I rename a branch?

Update to the stiging branch and create a new branch off of it. Then close the old branch. In summary: hg update stiging hg branch staging hg commit -m”Changing stiging branch to staging.” hg update stiging hg commit –close-branch -m”This was a typo; use staging instead.” hg push –new-branch

Mercurial stuck “waiting for lock”

When “waiting for lock on repository”, delete the repository file: .hg/wlock (or it may be in .hg/store/lock) When deleting the lock file, you must make sure nothing else is accessing the repository. (If the lock is a string of zeros or blank, this is almost certainly true).

Is there a way to use a Mercurial repository as Git submodule?

Using git-hg. First, make sure there is a (non-Mercurial) git submodule under your main repository. If you don’t have other submodules yet, just create a dummy submodule for some library other than core-plot, for instance: main-repo $ git submodule add https://repo.url.com/repo.git repo Second, clone the core-plot library into some directory. main-repo $ git-hg clone https://code.google.com/p/core-plot/ … Read more

tech