cfengine/documentation — pull request #942 by nickanderson (2014-10-07 22:43:36+00:00)
Title: Refactor steps 1.1/1.2 in 3.6 upgrade procedure

Early steps haven't been very constructive in my attempt to begin an upgrade
assessment. Current wording implies that masterfiles can be dropped in as a
fileset; however, at least with 3.5->3.6, it seems some changes are more
likely to have to be applied line by line. I tried make the change minimal,
though the result might be awkward.

I haven't tried to include diff examples since they don't really fit here, but
in attempting to prep an upgrade, I've found it helpful to diff existing
masterfiles against 3.5, then planning patches by diffing between 3.5 and 3.6.
In particular, the following one-liner has been useful:

for f in *; do echo "$f $(2>/dev/null diff $f ../masterfiles-3.5.clean/$f
>/dev/null && echo -n IS || echo -n is NOT) from 3.5"; done

For each "is NOT" result, I check for conflicts, identify the origin (usually
easy), copy entire files/directories if they are not modifications of provided
files, and study diffs if they are.

For each "IS" result, I omit the file/directory altogether, with the intention
of testing against its 3.6 counterpart.

Depending on results of testing and comments on this PR, I may continue to
offer any discrepancies between what is here and what I needed to do to
upgrade.