Subject: Re: Comments on "Understanding Version Control" by Eric S. Raymond

From: Jakub Narebski <[email-masked]>
Date: Thu, 5 Feb 2009 18:36:42 +0100

On Thu, Feb 05, 2009, Theodore Tso wrote:
> On Thu, Feb 05, 2009 at 12:23:37PM +0100, Jakub Narebski wrote:
> > > 
> > > 2) And does the right thing happen if the situation is as described
> > >    above, but in, branch C, which is descended from branch B, a new
> > >    directory, src/plugin/innodb-experimental is created, such that
> > >    src/plugin/innodb and src/plugin/innodb-experimental both exist.
> > >    Now the same commit from branch A is pulled into branch C.  Will
> > >    the correct thing happen in that the correct files in
> > >    src/plugin/innodb are modified and created, even though there is a
> > >    new directory containing a completely unrelated plugin that happens
> > >    to have the name, "innodb-experimental"?
> > 
> > Errr... I think that you confused branch 'B' (with innodb-experimental)
> > with branch 'A' (with innodb only) here.
> > 
> 
> No, I didn't.   Let me try again.
> 
> At time T:	Project grows a plugin in directory src/plugins/foo-new
> 
> At time T+1:	Project releases a stable release, and branches off "maint"
> 
> At time T+2:	Project renames the plugin to be src/plugins/foo, using
> 		"scm mvdir src/plugins/foo-new src/plugins/foo" on the 
> 		devel branch:

And it is on branch 'A' that it happens.  But it doesn't matter...
The example is of 'independent add' in the same filename, different
contents case that I put in "Tests for...", but for directory not
for a filename.  Well, slightly more complicated than that...

What I wonder is how directory-id solution deals with situation
where (for example die to some reorganization) where once was single
directory (e.g. lib/) now there are two (include/ and src/); how it
would deal with the new file at old directory, hmmm...?

-- 
Jakub Narebski
Poland