git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/8] Rescuing repeated merge of Documentation/git-merge.txt
@ 2010-01-17  9:38 Junio C Hamano
  2010-01-17  9:38 ` [PATCH 1/8] git_attr(): fix function signature Junio C Hamano
                   ` (8 more replies)
  0 siblings, 9 replies; 13+ messages in thread
From: Junio C Hamano @ 2010-01-17  9:38 UTC (permalink / raw)
  To: git

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2010-01-17 20:41 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-17  9:38 [PATCH 0/8] Rescuing repeated merge of Documentation/git-merge.txt Junio C Hamano
2010-01-17  9:38 ` [PATCH 1/8] git_attr(): fix function signature Junio C Hamano
2010-01-17  9:38 ` [PATCH 2/8] xdl_merge(): introduce xmparam_t for merge specific parameters Junio C Hamano
2010-01-17  9:38 ` [PATCH 3/8] xdl_merge(): allow passing down marker_size in xmparam_t Junio C Hamano
2010-01-17  9:39 ` [PATCH 4/8] merge-tree: use ll_merge() not xdl_merge() Junio C Hamano
2010-01-17  9:39 ` [PATCH 5/8] rerere: use ll_merge() instead of using xdl_merge() Junio C Hamano
2010-01-17 11:52   ` Johannes Sixt
2010-01-17 19:01     ` Junio C Hamano
2010-01-17 20:40       ` Johannes Sixt
2010-01-17  9:39 ` [PATCH 6/8] conflict-marker-size: new attribute Junio C Hamano
2010-01-17  9:39 ` [PATCH 7/8] rerere: prepare for customizable conflict marker length Junio C Hamano
2010-01-17  9:39 ` [PATCH 8/8] rerere: honor conflict-marker-size attribute Junio C Hamano
2010-01-17 10:07 ` [PATCH 0/8] Rescuing repeated merge of Documentation/git-merge.txt Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).