|
From: Eric S. R. <es...@th...> - 2017-10-31 22:28:23
|
Daniel J Sebald <dan...@ie...>: > Those number of branches suggests to me the first step in this process is to > build a branch/linked-list for all individual files, i.e., the file.ext,v > files as the source. Then to build a branch means "merging" all those in a > meaningful way to create the git branch--something involving "clique" > determines the root of the branch. Having reached that point, then the git > branch is attached to its parent, i.e., branch point. That is correct. For branch-merging purposes, a "clique" is a set of file mods with identical metadata (committer and comment) and dates within a certain time fuzz in seconds of each other (default 300 seconds). The logic walks down branches from tip to base trying to identify cliques which it makes into changesets. > The issue is that there is no consideration in this clique process that > includes the symbol "version stamps" identifying cross-branch file use. That is also correct. > I really like the C++ structure of the code, e.g., the way > that CVS numbers are stored as little objects for which A-to-B comparisons > can be done easily. It's just a question of wanting to set about doing > that. Yeah, thank Keith for that, then me. He went partway down the road of making those things objectlets; I saw where he was going and continued it to its logical conclusion. I have no doubt he would have done the same, but he abandoned the code pretty immediately and in a semi-unfinished state as soon as he got the X repos moved. As a result, the core algorithm and overall architecture are Keith's, but the prettiness is often me. I did it in self-defense - refactoring the code to make it readable was the only way I could find to understand it. > However, the sense in which branch_merge() considers "merge" isn't the same > notion as a git "merge". Yes. I should think about renaming so the term "merge" isn't used, to avoid that confusion. Perhaps "collate"? -- <a href="http://www.catb.org/~esr/">Eric S. Raymond</a> My work is funded by the Internet Civil Engineering Institute: https://icei.org Please visit their site and donate: the civilization you save might be your own. |