[PATCH] clone: update to branch of parent for local source repos by default

Greg Ward greg-hg at gerg.ca
Tue Oct 20 15:52:36 CDT 2009


On Mon, Oct 19, 2009 at 5:53 PM, Adrian Buehlmann <adrian at cadifra.com> wrote:
> # HG changeset patch
> # User Adrian Buehlmann <adrian at cadifra.com>
> # Date 1255989153 -7200
> # Node ID 56363f62752ecb33134c7272acb7dedd34debc9c
> # Parent  6578bc930174a1d312f4198d36bd43ebcd24cfc2
> clone: update to branch of parent for local source repos by default
>
> (I'm sending this mostly for historic/documentation purposes as Matt has
> mixed feelings about it. It's just amazing how small and effective this
> patch actually is)
>
> would allow to do things like
>
> $ hg clone thg-stable thg-stable-bug1234
> updating to branch stable
> 297 files updated, 0 files merged, 0 files removed, 0 files unresolved
>
> provided thg-stable's parent is at branch 'stable'.
>
> Today, the same can only be achieved by doing
>
> hg clone -U thg-stable thg-stable-bug1234
> cd thg-stable-bug1234
> hg up stable

This patch makes a lot of sense to me.  We're going to be using
Mercurial with lots of named branches, as we maintain different parts
of our code on anywhere from 2 to 10 branches at a time.  (Pesky
customers, wanting bug fixes without full upgrades.)  If I have a
local clone of the 3.8 branch, and I want another local clone for
experimental work, I would just expect 'hg clone' to put it on that
branch.  The fact that this is not the default is entirely
understandable... but I don't really want to have to explain it to my
users!

> The argument against doing this patch probably is that this would be the
> first time that clone would be influenced by the state of the source _working
> directory_ ("layering violation", as Dirkjan put it).

Bahh!  Layering, shmayering.  Just do whatever is convenient and easy,
right?  ;-)

Greg



More information about the Mercurial-devel mailing list