By default, the ORIG_HEAD ref is moved to point to HEAD during a merge. If there are no changes (i.e. if the local is in sync with remote), it becomes difficult to see the last set of changes as the range of commits is lost. This is especially true when the pull is performed via a cronjob or a script. Following this mail is a patch that tries to address the problem by not updating the ORIG_HEAD ref when it detects an empty merge (i.e. local is in sync with the remote). That way, one can still do diffstat/log between ORIG_HEAD..HEAD. It's still possible to revert to old behavior with: o. --force-update-orig-head cmd line option o. merge.forceupdateorighead config option Please review the patch and let me know if: a) it makes sense to have this functionality b) if the patch looks OK Please let me know if there are any changes required. I'll write the test cases and send them in another mail later. Thanks, Kunal Kunal Gangakhedkar (1): merge: Preserve ORIG_HEAD if already up-to-date with remote. builtin/merge.c | 26 ++++++++++++++++++++++++-- 1 files changed, 24 insertions(+), 2 deletions(-) -- 1.7.6.rc1.2.g20c4a.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html