> there's also http://hg-git.github.io/ which means that the hg client > can push into git repos, which may mean the best of both worlds: i
update: i've looked into this and it seems manageable. the result of a proof-of-concept workflow is available here: https://github.com/attila-lendvai/maru-hg-git-experiment https://bitbucket.org/attila-lendvai/maru/ the github repo is pushed from a local maru hg repo with the hg-git plugin enabled. in my local hg repo i've recorded some new commits relative to the official hg repo. these commits separate the eval1, eval2, and eval3 into separate bookmarks/branches called 'stage-n'. the hg repo at bitbucket.org has the hg stage-n bookmarks. when i 'hg push github', the hg bookmarks are synced with git branches. (hg branches, as opposed to bookmarks, are following a different model than git, and are also becoming less and less used) i'll attach my notes at the end of my mail, maybe it's useful to someone. even though this workflow is manageable, all in all i think it's not worth the trouble. practically i'm doing with hg bookmarks what i'd be doing with git branches, except that the mercurial tools seem to be less numerous and less developed. and the complexity bookmarks bring in, e.g. the need to occasionally rebase commits between bookmarks, practically make hg as complex as using git is. i don't like git, but i don't see how hg is better in this workflow either. Ian, at this point i badly need some input on at least this to decide whether to pursuit the hg-git way, or to just use git. (the converted git repo contains the full hg history) as of the changes themselves: the C bootstrap files are moved into ./bootstrap/c/ and the build scripts are updated accordingly. the various stage-n repos hold the appropriate versions of eval.c and boot.l. stage-1 is the beginning state, without any changes by me. as of the official repo, the following files seem to be missing, probably they are not checked in: maru-nfibs.k, test2.c, and maru-test2.k hth, -- • attila lendvai • PGP: 963F 5D5F 45C7 DFCD 0A39 -- “You can avoid reality, but you cannot avoid the consequences of avoiding reality.” — Ayn Rand (1905–1982) the hg-git articles i've read while doing this: https://bitbucket.org/durin42/hg-git http://hg-git.github.io/ http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/ http://www.kevinberridge.com/2012/05/hg-bookmarks-made-me-sad.html $ hg clone http://bitbucket.org/durin42/hg-git $ cat ~/.hgrc [extensions] record= rebase = hggit = ~/workspace/hg-git/hggit [git] # note: ~ is note expanded in 'authors' authors = /home/alendvai/.hg-author-map.txt # this would only bridge the bookmarks to/from git that end with this suffix #branch_bookmark_suffix=-bm $ cat ~/.hg-author-map.txt piumarta = Ian Piumarta <i...@piumarta.com> Ian Piumarta = Ian Piumarta <i...@piumarta.com> piumarta@winxp = Ian Piumarta <i...@piumarta.com> piumarta@win7 = Ian Piumarta <i...@piumarta.com> $ cat .hg/hgrc [paths] default = http://piumarta.com/hg/maru/ github = git+ssh://g...@github.com/attila-lendvai/maru-hg-git-experiment.git #hg #rebasing between bookmarks, a commit from stage-2 to stage-1: $ hg merge --preview stage-2 changeset: 620:9edd2855f621 summary: Move files needed for the C bootstrap into ./bootstrap/c changeset: 621:---=>3c0a9370e3b6<=--- summary: Added a .hgignore $ hg rebase --keep --rev 3c0a9370e3b6 --dest stage-1 # then we need to reset stage-2 for some reason. probably because it # was the tip commit of stage-2 and rebasing moved the bookmark also. $ hg bookmark -f --rev 3c0a9370e3b6 stage-2 # "pulling" this change to stage-3 requires no rebase, just moving the # bookmark: $ hg bookmark -f --rev 3c0a9370e3b6 stage-3 _______________________________________________ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc