Re: Doing a dummy or empty merge
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:48:25
merlyn@stonehenge.com (Randal L. Schwartz) writes:
quoted
quoted
quoted
quoted
quoted
"Richard" == Richard Lee [off-list ref] writes:Richard> At this point I want to merge this test branch into the live branch Richard> despite not having made any commits apart from deployment related Richard> changes on the test branch. I want this to be a dummy merge so that a Richard> merge is recorded into the live branch, but the contents of the live Richard> branch remain untouched. This is as if I made an empty commit on the Richard> live branch. I think you'll get what you want with a "merge -s ours" from test to live. That says that "I've looked at test, and I've looked at the parents of live, and this is how I want the result to look". Further commits on test can then be merged to live automatically using this new merge as the (initial) base. Of course, later commits after that will use subsequent bases, but that should already work the way you want.
After the above "merge -s ours", you obviously can never merge from live to test. You have declared that you favor the live configuration over the test configuration with that merge commit, and merging a branch that has that merge commit (i.e. live) into any branch (i.e. test) is your consent to be bound by that declaration. The resulting backmerge will wipe the test configuration and replace it with that from live. Not that anybody would be likely to want to merge live back to test, but I thought it is worth a warning, as people who haven't thought through what it means to make a merge commit (or more generally, any commit) can get confused.