{"action":"created","issue":{"url":"https://api.github.com/repos/cfengine/masterfiles/issues/1058","repository_url":"https://api.github.com/repos/cfengine/masterfiles","labels_url":"https://api.github.com/repos/cfengine/masterfiles/issues/1058/labels{/name}","comments_url":"https://api.github.com/repos/cfengine/masterfiles/issues/1058/comments","events_url":"https://api.github.com/repos/cfengine/masterfiles/issues/1058/events","html_url":"https://github.com/cfengine/masterfiles/pull/1058","id":307021224,"number":1058,"title":"ENT-3554: Tooling to upgrade MPF files (WIP)","user":{"login":"olehermanse","id":4048546,"avatar_url":"https://avatars1.githubusercontent.com/u/4048546?v=4","gravatar_id":"","url":"https://api.github.com/users/olehermanse","html_url":"https://github.com/olehermanse","followers_url":"https://api.github.com/users/olehermanse/followers","following_url":"https://api.github.com/users/olehermanse/following{/other_user}","gists_url":"https://api.github.com/users/olehermanse/gists{/gist_id}","starred_url":"https://api.github.com/users/olehermanse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/olehermanse/subscriptions","organizations_url":"https://api.github.com/users/olehermanse/orgs","repos_url":"https://api.github.com/users/olehermanse/repos","events_url":"https://api.github.com/users/olehermanse/events{/privacy}","received_events_url":"https://api.github.com/users/olehermanse/received_events","type":"User","site_admin":false},"labels":[{"id":873949677,"url":"https://api.github.com/repos/cfengine/masterfiles/labels/WIP","name":"WIP","color":"d119c1","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-03-20T20:13:02Z","updated_at":"2018-03-23T00:25:12Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/cfengine/masterfiles/pulls/1058","html_url":"https://github.com/cfengine/masterfiles/pull/1058","diff_url":"https://github.com/cfengine/masterfiles/pull/1058.diff","patch_url":"https://github.com/cfengine/masterfiles/pull/1058.patch"},"body":"Internal ticket: tracker.mender.io/browse/ENT-3554"},"comment":{"url":"https://api.github.com/repos/cfengine/masterfiles/issues/comments/375500346","html_url":"https://github.com/cfengine/masterfiles/pull/1058#issuecomment-375500346","issue_url":"https://api.github.com/repos/cfengine/masterfiles/issues/1058","id":375500346,"user":{"login":"mikeweilgart","id":15166719,"avatar_url":"https://avatars0.githubusercontent.com/u/15166719?v=4","gravatar_id":"","url":"https://api.github.com/users/mikeweilgart","html_url":"https://github.com/mikeweilgart","followers_url":"https://api.github.com/users/mikeweilgart/followers","following_url":"https://api.github.com/users/mikeweilgart/following{/other_user}","gists_url":"https://api.github.com/users/mikeweilgart/gists{/gist_id}","starred_url":"https://api.github.com/users/mikeweilgart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikeweilgart/subscriptions","organizations_url":"https://api.github.com/users/mikeweilgart/orgs","repos_url":"https://api.github.com/users/mikeweilgart/repos","events_url":"https://api.github.com/users/mikeweilgart/events{/privacy}","received_events_url":"https://api.github.com/users/mikeweilgart/received_events","type":"User","site_admin":false},"created_at":"2018-03-23T00:25:12Z","updated_at":"2018-03-23T00:25:12Z","author_association":"CONTRIBUTOR","body":"That's just about right, regarding the workflow.\r\n\r\nRegarding the merge conflict resolution—the ideal is to show the conflict tags using the \"diff3\" style (as in Git) for easier comparison and resolution.\r\n\r\nFor comparison, the workflow *I* have always used for policy upgrades, although somewhat convoluted in terms of necessary Git commands, makes the actual upgrade and conflict resolution downright easy:\r\n\r\nFor sake of example, I'll say I'm upgrading masterfiles from 3.7.3 to 3.10.3.  The first thing I do is set up the following situation in Git (I won't detail here how I accomplish this, unless someone asks):\r\n\r\nstock-3.7.3 is a tagged version with the stock 3.7.3 masterfiles.  (You don't really need the tag but it makes the following explanation easier.)\r\n\r\ncustom-3.7.3 is one commit forward from stock-3.7.3, and contains *all* customizations (all added in a single commit).\r\n\r\nstock-3.10.3 is also one commit forward from stock-3.7.3, and contains what you expect, all added/changed in a single commit.\r\n\r\nThen I just merge custom-3.7.3 and stock-3.10.3.\r\n\r\nSince they are both immediate descendants of (have the common parent) stock-3.7.3, there are only three versions to compare and no intermediate points.  Diff3 style of merge conflict display means for any file with a conflict, I can easily see what was in stock-3.7.3, what was changed from there to stock-3.10.3, and what was changed from the stock-3.7.3 to my custom-3.7.3.  (For more about diff3 style, run the command `LESS='+/HOW CONFLICTS ARE PRESENTED' man git-merge`)\r\n\r\nThe *only* thing unsatisfactory to me about this workflow is the irritation/difficulty involved in setting it up.\r\n\r\n@olehermanse, I hope some of that helps?"}}
{"actor":{"display_login":"mikeweilgart"}}