Thanks for the hg facilities!
Angel Ezquerra
angel.ezquerra at gmail.com
Sun Jan 4 12:03:45 UTC 2015
On Sun, Jan 4, 2015 at 10:08 AM, Harry . <voldermort at hotmail.com> wrote:
> arne_bab worte:
>
>>> Seconded. Wouldn't mind smaller repositories
>>
>> Did you try the size with different repositories? In my tests, git and
>> hg are very close in size, but git repos enlarge a lot when you don’t
>> repack + garbage collect regularly (and auto-gc does not cut it).
>
> After moving some large binary dependencies around within the source tree, git repo is a small fraction the size of hg repo. Happens to a lesser extent when moving lots of text files as well.
>
> Another trigger for this is lots of similar files - came up on the list recently with translated resources.
>
>>> and git-style tags either.
>>
>> unversioned, centralized, “follow the canonical repo” tags? Something
>> like bookmarks which don’t follow your changes?
>
> Yes, exactly that.
>
>> Or is there a central usability issue which disturbs you when using
>> hg tags?
>
> Tagging polluting the commit log, and the daft situation where updating to a tag loses it.
When I was new to mercurial the way tagging works was one of the very
few design decisions I really didn't like. I even wasted everybody's
time with some long rants about it at the time. However, with time
I've come to appreciate the simplicity of its design and I've realized
that many of the drawbacks that it has are minor in the face of the
many advantages that it brings to the table. In particular, and to
address what you said:
- Updating to a tag does not lose it, because mercurial combines the
tags on all the current heads get the current list of tags, not at the
tags explicitly set on the current revision.
You can "lose a tag" by cloning to a given tag or by updating to a tag
and then stripping the revisions above. I think both situations are
rare enough that they do not really matter in practice.
There are other problems though:
- Tag merging is annoying: This can be solved by using the somewhat
experimental internal tagmerge tool.
- Updating to a tag and then committing creates a new head: This is
annoying and I think we could probably do something about it, such as
detecting that case and suggesting to update first (or maybe even
having an option to do it for you).
Cheers,
Angel
More information about the Mercurial
mailing list