State of Hg-SVN vs Git-SVN

Augie Fackler raf at durin42.com
Thu Apr 16 17:53:16 UTC 2015


On Apr 16, 2015, at 12:47 AM, Bryan Murdock <bmurdock at gmail.com> wrote:

> Other than the externals caveats, hgsubversion has no support for svn
> tags (maybe because they aren't really tags?)

FYI, this is false - hgsubversion has supported tags for at least 6 years. Some complicated setups fool it, but if you actually have a normal trunk/tags/branches setup, it should work 99% of the time. It can (for example) convert the old django repository correctly on the first try, whereas git-svn would give up on the tags.

> and it cannot merge svn
> branches (can anything?  I kid...).  I don't know if git-svn does
> better with those two things.

git-svn is slightly better on the merge story, but neither tool writes out mergeinfo, so if your team is using svn to merge, I recommend against it.

When I used to use svn, this was how I merged svn branches using hgsubversion:

https://bitbucket.org/durin42/dotfiles/src/05ccb6c5fb4b9df88e06bdc9d162912760eb554e/.shell.d/50.hg_functions.sh?at=default#cl-46

> 
> The last thing to be aware of is that you are required to rebase your
> local commits on top of others svn commits before you can push, to
> keep a linear svn-accommodating history.  Again, I don't know how
> git-svn works in this regard, but it's hard to image it working any
> other way.

git-svn works the same way in this regard.

> One really interesting thing is that your hgsbuversion clone (which,
> remember, contains the whole repository history) will probably be
> smaller in size than your svn working copy.  Apparently svn keeps a
> large amount of metadata in that working copy.  Sorry, don't know
> about git-svn on this issue either.

subversion keeps uncompressed base texts in .svn, whereas git and hg store more compact (compressed) representations of history instead of that.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.mercurial-scm.org/pipermail/mercurial/attachments/20150416/bba619a8/attachment.asc>


More information about the Mercurial mailing list