--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scm/hg-git-rosetta-stone Sun Aug 25 21:04:14 2013 +0200
@@ -0,0 +1,102 @@
+https://github.com/sympy/sympy/wiki/Git-hg-rosetta-stone
+
+Git hg rosetta stone
+
+Use it like a dictionary hg -> git.
+
+Rosetta Stone
+=============
+
+
+|hg |git |
+|hg cat -r rev |git show rev:some_file |
+|some_file | |
+|hg clone |git clone git://git.sympy.org/sympy.git |
+|http://hg.sympy.org/s| |
+|ympy-git.hg | |
+|hg clone -U |git clone --bare git://git.sympy.org/sympy.git |
+|http://hg.sympy.org/s| |
+|ympy-git.hg | |
+|hg diff |git diff HEAD |
+|hg status |git status |
+|hg manifest |git ls-tree -r --name-only --full-tree HEAD |
+|hg parents |git show --pretty=format:'%P' -s |
+|hg commit |git commit -a |
+|hg record |git add -p; git commit # or, for a more detailed |
+| |interface: git add -i; git commit |
+|hg email -r tip |git send-email HEAD^ # or: git format-patch HEAD^ ; git|
+| |send-email 0001-Add-whitespace.patch |
+|hg view |gitk, git gui |
+|hg help command |git help command |
+|~/.hgrc |~/.gitconfig |
+|.hg/hgrc |.git/config |
+|hg paths |git remote -v |
+|editing paths in |git remote add name url # see "git help remote" for |
+|.hg/hgrc |more info how to edit paths; alternatively, you can |
+| |edit them by hand in .git/config too |
+|.hgignore |.gitignore |
+|.hg/hgrc [ui] ignore |.git/info/exclude |
+|hg add |git add (note, it adds _content_ to index; can work on |
+| |a hunk-by-hunk basis with -p!) |
+|hg rm |git rm |
+|hg push |git push |
+|hg pull |git fetch |
+|hg pull -u |git pull |
+|hg addremove |git add -A (or: git add .; git ls-files --deleted xargs|
+| |git rm) |
+|hg revert -a |git reset --hard |
+|hg revert some_file |git checkout some_file |
+|hg strip 2fccd4c |git reset --hard 2fccd4c^ |
+|hg export |git format-patch |
+|hg import --no-commit|git apply some.patch |
+|some.patch | |
+|hg import some.patch |git am some.patch |
+|hg out |git fetch && git log FETCH_HEAD..master |
+|hg in |git fetch && git log master..FETCH_HEAD |
+|hg update tip |git checkout HEAD # or this: "git checkout master", or |
+| |"git merge FETCH_HEAD", depending on what you did |
+| |before this |
+|hg update -C |git checkout -f |
+|hg update some.branch|git checkout some.branch # Note that "git branch |
+| |some.branch" is not the same as this. |
+|hg qimport |stg something (A separate patch manager extension is |
+| |probably not necessary in git -- normal workflow |
+| |combined with git rebase -i should cover your needs) |
+|hg qpush |(see hg qimport) |
+|hg qpop |(see hg qimport) |
+|hg qimport -r tip |? |
+|hg qnew -f some.patch|? |
+|hg resolve -a -m |git add -u |
+|hg glog |git log --graph --all --decorate # or: git log --graph |
+| |--all; |
+|hg verify |git fsck |
+
+
+Setup
+=====
+
+~/.gitconfig:
+
+ [user]
+ name = Ondrej Certik
+ email = ondrej@certik.cz
+
+ [color]
+ ui = auto
+
+ [color]
+ decorate = short
+
+ [alias]
+ ci = commit
+ di = diff --color-words
+ st = status
+
+ # aliases that match the hg in / out commands
+ out = !git fetch && git log FETCH_HEAD..
+ outgoing = !git fetch && git log FETCH_HEAD..
+ in = !git fetch && git log ..FETCH_HEAD
+ incoming = !git fetch && git log ..FETCH_HEAD
+
+
+