Thread (1 message) 1 message, 1 author, 2016-06-15

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help