[Python-Dev] Mercurial conversion repositories
Georg Brandl
g.brandl at gmx.net
Fri Feb 25 17:42:55 CET 2011
On 25.02.2011 17:31, Georg Brandl wrote:
> On 25.02.2011 17:12, Barry Warsaw wrote:
>> On Feb 25, 2011, at 01:50 AM, Raymond Hettinger wrote:
>>
>>>
>>>On Feb 25, 2011, at 12:09 AM, Martin v. Löwis wrote:
>>>
>>>> I think I would have liked the strategy of the PEP better (i.e.
>>>> create clones for feature branches, rather than putting all
>>>> in a single repository).
>>>
>>>In my brief tests, the single repository has been easy to work with.
>>>If they were separate, it would complicate backporting patches
>>>and merges. So, I'm happy with how George and Benjamin put this together.
>>
>> The way I work with the Subversion branches is to have all the active branches
>> checked out into separate directories under a common parent, e.g.
>>
>> ~/projects/python/py26
>> ~/projects/python/py27
>> ~/projects/python/trunk
>> ~/projects/python/py31
>> ~/projects/python/py32
>> ~/projects/python/py3k
>>
>> This makes it very easy to just cd, svn up, make distclean, configure, make to
>> test things. How can I do this with the hg clone when all the branches are
>> in the single repository, but more or less hidden? After doing the 'hg clone'
>> operation specified by Antoine, I'm left with a single cpython directory
>> containing (iiuc) the contents of the 'default' branch.
>
> Two scenarios are possible:
>
> * You make a clone per branch with the full history, with the current branch
> being different in each of those. Since "hg update" updates to the head of
> the current branch, this should be easy to do. When you pull from the single
> repo you will get changes for the other branches as well, but they will not
> bother you.
>
> * You make a clone per branch, containing *only* the respective branch (with
> its ancestors). This is done by using "URI#branchname" as the source when
> cloning/pulling.
>
> Both should work equally well, with the former giving larger repository sizes,
> and the latter taking somewhat longer on the initial clone.
Ah, and the latter obviously also won't work with the "hg-native" workflow
(merging between the branches using hg merge).
Georg
More information about the Python-Dev
mailing list