Re: [PATCH] Exclude vendor branches

Michael Haggerty <[email protected]> Mon, 08 Mar 2010 12:39:43 +0100
Newsgroups gmane.comp.version-control.subversion.cvs2svn.devel
Message-ID <[email protected]>
Jon Foster wrote:
> Sorry for sending so many patches all at once.  If there's anything I
> can do to make reviewing easier, please let me know.

There's no need to apologize!  Patches are welcome, and more patches are
more welcome!

> This patch adds an --exclude-vendor-branches option to cvs2svn.
> There are a several reasons for wanting to exclude vendor branches:
> [...]

Agreed.

I'm trying to understand the important differences between
--exclude-vendor-branches vs. ExcludeTrivialImportBranchRule and
ExcludeVendorBranchRule.  Here are some that occur to me:

* ExcludeVendorBranchRule is pickier, only eliminating pure vendor
branches.  But I think that this could be changed.

* --exclude-vendor-branches operates during CollectRevsPass whereas
ExcludeVendorBranchRule operates during FilterSymbolsPass.  So:

  * ExcludeVendorBranchRule has more information available in the form
of SymbolStatistics to help decide which branch(es) to exclude.

  * Excluding vendor branches earlier reduces the amount of information
that has to be passed from pass to pass.

  * --exclude-vendor-branches aborts the conversion with a RuntimeError
if there are blockers, thereby requiring the user to restart the
expensive CollectRevsPass until the configuration is correct.
ExcludeVendorBranchRule can, I believe, exclude vendor branches that
have sub-tags or sub-branches as long as these are also excluded.

* Neither of the features can be used to exclude user-selected (e.g., by
name) vendor branches while leaving others alone, though this would be
easy to add in either case.

* Neither method has a way to detect and exclude the vendor *tags* that
are also created by a cvs import.  (It would be nice if we could think
of a way to do that!)

How do you see the difference?
Michael

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

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