version control - "Best" svn to hg conversion tool for my specific purposes -


when comes converting svn hg seems there million pages devoted (both in stackoverflow , web in general), seem have laundry lists tools available, , maybe recommendation (though vary, , don't why it's recommended) no real information factors make tool best requirements. bad of info comes 2010 or so, notes or other pages saying "that tool outdated and/or not maintained". hg being rapidly developed 2010 might stone age.

i want convert svn hg largely purposes of simplifying serious merges. i'd love convert whole team hg, various reasons isn't going happen yet. it'll i'll use hg sometime, while rest of team continues svn. therefore it's important me able round trip, i.e. convert svn repo hg, work on hg, push changes svn. it's important able sync hg repository svn repo since ongoing changes made svn repo. while local hg repo serve of purposes, i'd keep central 1 on server can convince other people try it.

i understand main reason dvcs's hg , git better @ merging not they're distributed, keep history in form that's more conducive merging. if convert svn repo hg hg enough of history in preferred form it'll able better merges? when sync?

i don't care os conversion tool runs on, use windows 7 our laptops , linux on server (which have superuser access to). if might prefer linux that's svn repo , central hg repo be. nor care how long initial conversion takes (though sync matter) can start conversion on friday , in on monday (our svn repo not big anyway).

can give me advice svn hg tools serve specific requirements?

pure mercurial (tortoisehg on win-box) + hgsubversion

  • just clone svn-repo local mercurial repo
  • work, commit hg
  • hg pull equivalent svn up
  • hg push publish changes svn-repo

some notes (dumb quote hg svn partially):

  • when converting subversion, hgsubversion not recognize merge- info, , not create merges based on it.
  • mercurial merges cannot pushed subversion. have rebase work on top of svn head
  • multi-heads branches can't pushed (svn-history linear, contrary hg's dag)
  • it not possible interact more 1 subversion repository per mercurial clone.

some notes , observations, not fit in comments well

  • svn not hide mergeinfo mercurial, it's current mainline-hgsubversion, ignore data. incorrect common parent (in case of hg-merges after svn-merges) not prevent neat definition of changed chunks (at least, memory, "cyclic cross-branches merges" - a->b->c->d->a - isn't problem in hg, contrary svn)
  • on real svn projects branch per task workflow used svn-wc , hg-workdir in parallel (cloned svn-repo local mercurial, transfer /mostly after merges/ sources wc commits repo). prefer separations of hg , svn in different places, but, theoretically, can common (wd+wc) dir, mutual ignoring of foreign metadata

Comments

Popular posts from this blog

dns - How To Use Custom Nameserver On Free Cloudflare? -

python - Pygame screen.blit not working -

c# - Web API response xml language -