[Nut-upsdev] git conversion progress

Charles Lepple clepple at gmail.com
Mon Jan 23 03:30:18 UTC 2012

On Jan 21, 2012, at 7:38 PM, Eric S. Raymond wrote:

> Automatically detecting *all* potential merge points is expensive - worst
> case is O(n**2) in the number of commits.  The workflow is designed around the
> assumnption that a human will identify potential merge points, test them
> with "merge", and if they're clean di a "merge perform".

I thought I finally understood this, but the merge commands are all commented out in nut.lift. What is the less-than-O(n**2) heuristic?

Thank you for clarifying the selection set syntax - I was working from the HTML documentation online which says "Tag and branch locations are bracketed with < >".

Also, thanks for the quick update to fix the apparmor branch parent.

However, I started looking through some of my previous emails to see if there were other merge points that were not yet mentioned in the comments in nut.lift, and I ran across an inconsistency in the Augeas branch merge. As of the last commit to reposurgeon.git on Sun Jan 22 08:12:09 2012 -0500, reposurgeon gets the topology right.

The odd part is that on the Augeas branch itself (including after a trunk-to-Augeas merge), the files seem correct. After the Augeas-to-trunk merge, though, files such as scripts/augeas/nuthostsconf.aug.in revert back to their earlier state on the Augeas branch. If you pull up gitk at the merge point (File -> List references -> Augeas, then go one commit more recent to "Merge the Augeas branch, related to configuration files management"), you will see that the 3-way diff shows the "Parses" line changing from:

Parses @CONFPATH@/hosts.conf


Parses /etc/nut/hosts.conf

The hardcoded-path-to-variable-substitution change coincides with a rename operation in r2769: "Use template lenses to adapt CONFPATH at configure time, update lenses and tests, and improve Makefile integration".

The good news is that when I tagged the git-svn repository similarly to the lifted tags in the reposurgeon output, and used "git archive" to generate tar files from those tags in both repositories, the Augeas files were the only differences (after ignoring the .gitignores).

Charles Lepple
clepple at gmail

More information about the Nut-upsdev mailing list