Mercurial and Agile

Douglas Philips dgou at mac.com
Wed Jul 1 19:01:31 CDT 2009


On or about 2009 Jul 1, at 7:52 PM, Stephen Rasku indited:

> On Wed, Jul 1, 2009 at 16:21, Bret Naylor<bretnaylor at gmail.com> wrote:
>> Hi All,
>>
>> I am a new user of mercurial.  I have searched all of the internet  
>> and have
>> not had much luck in finding an answer to my question.
>>
>> Short Question:  Why is it so hard to cherry pick individual  
>> changesets and
>> only move those across repositories?
>
> Take a look at the transplant extension.

By Mercurial design, transplant cannot preserve the changeset hash, so  
Mercurial will not know that you have the same change in two different  
places in the tree, and as per (http://mercurial.selenic.com/wiki/TransplantExtension 
) that can cause merge problems.

Rebase might be useful to you (http://mercurial.selenic.com/wiki/RebasePlan 
) but if you really really want to have independent changesets you  
probably either want to use MQ or you want to keep branchy repos so  
that you don't end up with gratuitous temporal dependencies (which  
seems to be the source of your issue). My preference is branchy trees.  
Our work group (5 + me) typically has an in-progress tree with 2-3  
branches per person. It does require the discipline to -pay attention-  
to where you are in the changeset graph when you start to make  
changes. Even MQ requires you to pay attention.

The deeper question is what is you confidence level of changes that  
you pluck out of the middle of a branch/repo? Until you do so, they  
could not have been tested in isolation since they depended on other  
(perhaps independent, perhaps not) changesets?

Just my buck-two-fitty,
	--Doug



More information about the Mercurial mailing list