cfengine/documentation — pull request #939 by philregier (2014-10-03 20:59:14+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.