From: Eric S. Raymond Date: Thu, 12 Dec 2013 23:04:54 GMT Subject: Re: I have end-of-lifed cvsps Message-ID: <20131212230454.GA20054@thyrsus.com> In-Reply-To: Martin Langhoff : > On Thu, Dec 12, 2013 at 3:58 PM, Eric S. Raymond wrote: > >> - regardless of commit ids, do you synthesize an artificial commit? > >> How do you define parenthood for that artificial commit? > > > > Because tagging is never used to deduce changesets, the case does not arise. > > So if a branch has a nonsensical branching point, or a tag is > nonsensical, is it ignored and not imported? I don't know what happens when identically-named tags point at changes that resolve into two different commits. I will figure that out and document it. There's evidence, in the form of some code that is #ifdefed out, that Keith considered trying to make synthetic commits from tag cliques. But abandoned the idea because he couldn't figure out how to assign such cliques to a branch. I'm not sure what counts as a nonsensical branching point. I do know that Keith left this rather cryptic note in a REAME: Disjoint branch resolution. Branches occurring in a subset of the files are not correctly resolved; instead, an entirely disjoint history will be created containing the branch revisions and all parents back to the root. I'm not sure how to fix this; it seems to implicitly assume there will be only a single place to attach as branch parent, which may not be the case. In any case, the right revision will have a superset of the revisions present in the original branch parent; perhaps that will suffice. -- Eric S. Raymond