[PATCH 0/8] Rescuing repeated merge of Documentation/git-merge.txt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ever since I started queuing Thomas's documentation updates in 'pu',
rebuilding the branch involved manual re-integration for conflicts in
Documentation/git-merge.txt.  This is because the tracked contents in
the file has lines that exactly match the conflict marker patterns (of
course, they are examples of how conflicts are shown).

I am not blaming Thomas; the blame lies squarely on the inability of
'rerere' to deal with such a situation.  It often is enough to do:

	git diff pu@{4.hours} Documentation/git-merge.txt

to check that nothing else has changed since the last merge, and then

	git co pu@{4.hours} Documentation/git-merge.txt

to resurrect the previous result, but it still is irritating.

This series is to help me cope with this particular merge by allowing the
attribute mechanism.  By having this entry in my .git/info/attributes:

	Documentation/git-merge.txt	conflict-marker-size=32

"git merge" leaves conflict markers that are 32 chars long (instead of the
usual 7), "git rerere" that is run internally when "git merge" results in
conflicts sees only the real conflict markers as such without getting
confused by the example in the contents, and "git rerere" called to record
the resolution does the right thing.

Junio C Hamano (8):
  git_attr(): fix function signature
  xdl_merge(): introduce xmparam_t for merge specific parameters
  xdl_merge(): allow passing down marker_size in xmparam_t
  merge-tree: use ll_merge() not xdl_merge()
  rerere: use ll_merge() instead of using xdl_merge()
  conflict-marker-size: new attribute
  rerere: prepare for customizable conflict marker length
  rerere: honor conflict-marker-size attribute

 archive.c              |    4 +-
 attr.c                 |   11 +++++--
 attr.h                 |    2 +-
 builtin-check-attr.c   |    2 +-
 builtin-merge-file.c   |    4 +-
 builtin-pack-objects.c |    2 +-
 convert.c              |    6 ++--
 ll-merge.c             |   80 +++++++++++++++++++++++++++++++-----------------
 ll-merge.h             |    2 +
 merge-file.c           |   16 ++++-----
 merge-tree.c           |    4 +-
 rerere.c               |   57 +++++++++++++++++++++++++--------
 userdiff.c             |    2 +-
 ws.c                   |    2 +-
 xdiff/xdiff.h          |    9 +++++-
 xdiff/xmerge.c         |   26 ++++++++++-----
 16 files changed, 151 insertions(+), 78 deletions(-)

--
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]