Re: cvs2git: One possible bug, and two other issues

Michael Haggerty <[email protected]> Sun, 09 Jan 2011 09:02:00 +0100
Newsgroups gmane.comp.version-control.subversion.cvs2svn.devel
Message-ID <[email protected]>
On 01/03/2011 03:48 PM, Anders Pilegaard wrote:
> Issue 3 - Allow selected tags to "expand" to cover more files
> -------------------------------------------------------------
> [...]
> In our CVS repository we normally tag bugfixes with "before" and
> "after" tags, to make it easier to apply them to another branch later
> on.  Mostly we let those tags cover the entire repository.  But
> sometimes - especially when the commit changes only a few files - we
> just tag the affected files.
> [...]
> But this was not the intention of those tags - they were meant to
> attach to specific commits.  And they do tag the files actually
> changed in the commit - just not all the files in the repository.
> 
> So I added some more code to allow certain tags to pass the
> "is_simple_copy" test [...]

I like this idea.  I guess that this practice is pretty common,
especially considering how expensive it is to make a repository-wide tag
in a big CVS repository.

Just a not of caution: even in the case that a "before" and "after" tag
pair can each be successfully expanded across the repository does not
ensure that diff(before -> after) == diff(before_expanded ->
after_expanded) because there could be differences in other files.
Therefore tag expansion could result in permanently losing information
about exactly what modifications were considered part of the bugfix.  I
don't see a way to get around this problem short of teaching cvs2svn to
treat tags in pairs.

I'm running out of time for open-sourcin' today, so let me just add a
couple more questions that occur to me spontaneously:

- Does your patch also allow branches to be expanded, or only tags?  Is
there a reason for the decision?

- I think that we should avoid using "lambdas" in the configuration
file.  Our users often seem overwhelmed by having to configure their
conversion using Python syntax, and lambdas are less obvious than most
constructs.

- Why do you only list the file basenames in the "not a proper subset"
message?  It could be ambiguous...

Yours,
Michael

-- 
Michael Haggerty
[email protected]
http://softwareswirl.blogspot.com/

------------------------------------------------------
http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=1667&dsMessageId=2696759

To unsubscribe from this discussion, e-mail: [[email protected]].