Who's using bookmarks in large production environment?

Waldemar Augustyn waldemar at astyn.com
Wed Feb 22 04:23:15 UTC 2012



On 02/21/2012 06:31 PM, Greg Ward wrote:
> Hi folks --
>
> as I mentioned in a thread last week ("Combining bookmarks and named
> branches"), we briefly toyed with the idea of using bookmarks as part
> of our daily workflow. After playing around and posting my question
> last week, I've come to the conclusion that bookmarks need more work
> before they are ready for prime time.
>
> ...or do they? Before I take the discussion to mercurial-devel, I
> thought I would ask first here: are you using bookmarks in a large
> production environment? In particular, do you work with >5 developers,
> some of whom are obssessive version-control geeks and some of whom
> just want to get the code written and go home at 5:00? And are these
> developers using bookmarks between multiple repos on a regular basis?
>
> If so, how do you deal with these problems:
>
>   * the changeset you get after "hg clone" is unpredictable, because
>     sometimes "default" means this bookmark and sometimes it 
>     means that bookmark (likewise, "hg update default" and "hg log -r
>     default" are unpredictable)
>
>   * if someone forgets the "-B <currentbookmark>" option when they
>     push, the bookmark info is left behind on their machine, leaving
>     the server out-of-date
>
>   * similarly if someone forgets "-B <currentbookmark>" when they pull
>     -- they get the new changesets, but hg does not know that
>     <currentbookmark> has moved forward
>
>   * you need to use "push -f" when pushing a new bookmark because that
>     increases the head count -- there is no analogue to "push
>     --new-branch"
>
> At any rate, those are the reasons why we are not going to start using
> bookmarks any time soon. Anyone else?
>
> Thanks --
>
>         Greg
FYI, in our 100+ developers environment bookmarks are not used. Work
flows revolve around named branches and a set of central repos that
collect code. The level of familiarity with mercurial varies greatly. 
Different teams use different work flows.  Several home grown tools have
been developed to aide with the process.  Using bookmarks would be very
much equivalent to switching to another version control system.  I would
add the use of single head triggers at central repos to your list of
issues to be aware when developing bookmarks.  There would need to be a
very simple way to detecting presence of bookmarked heads a la "if
len(repo.branchheads(b)) > 1:"



More information about the Mercurial mailing list