Merging back fixup commits (was: Some cvs2bzr thoughts)

Max Bowsher <[email protected]> Sat, 17 Oct 2009 22:13:10 +0100
Newsgroups gmane.comp.version-control.subversion.cvs2svn.devel
Message-ID <[email protected]>
Greg Ward wrote:
> On Fri, Oct 9, 2009 at 5:23 AM, Max Bowsher <[email protected]> wrote:
>> Interesting... your approach is to add the extra parent on the next
>> convenient revision that would happen anyway.
>>
>> I'm not entirely convinced that's the right thing to do, since it
>> ascribes the merge to some author who most likely had nothing to do with it.

> True.  But it keeps the number of spurious changesets to a minimum: at
> most one per tag.  (And tags that are a "simple copy" [in svn-speak]
> don't get a fixup at all.)
> 
> The merge commits that close fixup heads aren't *real* merges; they're
> just dummy merges to keep the number of heads down.

I think we have different definitions of 'spurious' :-)  I'm quite happy
for cvs2x to create as many synthetic changesets as it needs to, so long
 as it doesn't 'spuriously' attribute its own manipulations to human
authors.

>> I've hacked up an initial implementation that does an immediate
>> dedicated fixup commit after each tag commit, which I think is preferable.
> 
> So that's potentially 2 dummy changesets for each tag? 

Correct.

> I can see your
> point, but I'm not that offended by my use of dummy merges.  (If I
> was, I would hardly have implemented it that way! ;-)
> 
>> What are your thoughts on this difference in design?
> 
> I slightly prefer my way, but I'm not dogmatic about it.  As long as
> it's possible for me to override default behaviour and use dummy
> merges for my conversion, either way is OK by me.

Override it from not using merge-backs at all? Or override it from my
style of merge-backs to yours?

Personally, I'm thinking that merge-backs should be mandatory for
cvs2bzr (because not doing them really really doesn't produce a useful
representation of the tag).

For cvs2hg, if we don't merge-back, we should at least close the fixup
branch instead. I'm tempted to just make merge-backs mandatory there
too, given what has been said about performance with large numbers of heads.

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

To unsubscribe from this discussion, e-mail: [[email protected]].
signature.asc (application/pgp-signature, 197 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkraM2wACgkQfFNSmcDyxYAYLgCeJuIIQh6U526bGql36Omz5IOg
XSQAnRPQUtYfzQZKejDCbwWymS1nBnM/
=59x9
-----END PGP SIGNATURE-----