|
From: Hans-Bernhard B. <HBB...@t-...> - 2017-10-27 23:38:15
|
Am 28.10.2017 um 01:01 schrieb Daniel J Sebald: > On 10/27/2017 05:16 PM, Hans-Bernhard Bröker wrote: > Agreed. This is a consequence of reposurgeon choosing to place that > 3.7.x branch somewhere other than the trunk at (what I believe should be) More to the point, it's a consequence of reposurgeon's underlying cvs-fast-export struggling with the strange CVS concept of a "vendor branch", with less than total success. > Lars created that branch, 1.1.1, near the start but didn't use it for > much, apparently. The branch-master is based on 1.1: Not really. That's a vendor branch, and it was used exactly as intended: to track an upstream or "vendor" series of releases while maintaining local changes. In our case the upstream source was Lars' own CVS repository, and this practice ended when Lars switched over to SourceForge as his primary repository, 6 tracked "vendor" releases later. In a way, that vendor branch is still in use today, 19 years later: some of our demo files are still on that vendor branch; their current CVS revision is 1.1.1.1. On the surface, vendor branches can be viewed as CVS's attempted at implementing a modern-day DVCS, i.e. "cvs import" is a much dumber ancestor of "git pull". Internally, their handling is quite probably the weirdest aspect of CVS by quite a some margin. > I confirmed there are no comments "# HBB: revised etc." in the master > branch which matches Lars' CVS repo. And that's the source of this problem: cvs-fast-export tries to brush what happens on vendor branches under the carpet, mostly pretending that entire branch is just a single initial commit. But in our case that's the wrong thing to do. Our early project branches start at different points along the vendor branch, at least for some of the files. So it cannot work to squash the vendor branch into a single commit. Either one branch gets files that are older than they should be, or another branch gets files that are newer than they should be. |