From: Johan Herland <johan@herland.net>
To: git@vger.kernel.org
Cc: johan@herland.net
Subject: [WIP/RFC 00/13] git notes merge
Date: Fri, 23 Jul 2010 12:14:51 +0200 [thread overview]
Message-ID: <1279880104-29796-1-git-send-email-johan@herland.net> (raw)
Hi,
Here are some rough patches implementing most of the 'git notes merge'
functionality. There are still missing pieces in the area of manual
conflict resolution, but what's here should be enough to start
experimenting with automatic notes merge resolution.
Patches #1 - #8 + #10 are a combination of general cleanup and
preparations for 'git notes merge'. Patch #9 implements handling
of trivial notes merges ("already up-to-date" and "fast-forward").
Patch #11 implements object-level merging of notes, using regular
three-way rules. Patch #12 adds a few automatic conflict resolvers
that can be used instead of manual conflict resolution (which has
yet to be implemented). Patch #13 adds some preliminary docs.
For now, this is probably only ready for those with a special
interest in notes.
Have fun! :)
...Johan
Johan Herland (13):
(trivial) notes.h: Minor documentation fixes to copy_notes()
notes.h: Make default_notes_ref() available in notes API
notes.h/c: Clarify the handling of notes objects that are == null_sha1
notes.h/c: Propagate combine_notes_fn return value to add_note() and beyond
(trivial) t3303: Indent with tabs instead of spaces for consistency
notes.c: Use two newlines (instead of one) when concatenating notes
(trivial) git notes prune: Accept --verbose in addition to -v
builtin/notes.c: Split notes ref DWIMmery into a separate function
git notes merge: Initial implementation handling trivial merges only
builtin/notes.c: Refactor creation of notes commits.
git notes merge: Handle real, non-conflicting notes merges
git notes merge: Add automatic conflict resolvers (ours, theirs, union)
Documentation: Preliminary docs on 'git notes merge'
Documentation/git-notes.txt | 30 ++-
Makefile | 2 +
builtin.h | 2 +-
builtin/notes.c | 130 ++++++--
notes-cache.c | 3 +-
notes-merge.c | 474 +++++++++++++++++++++++++
notes-merge.h | 59 +++
notes.c | 196 ++++++-----
notes.h | 46 +++-
t/t3301-notes.sh | 4 +
t/t3303-notes-subtrees.sh | 19 +-
t/t3308-notes-merge.sh | 669 +++++++++++++++++++++++++++++++++++
t/t3309-notes-merge-auto-resolve.sh | 512 +++++++++++++++++++++++++++
t/t3404-rebase-interactive.sh | 1 +
t/t9301-fast-import-notes.sh | 5 +
15 files changed, 2014 insertions(+), 138 deletions(-)
create mode 100644 notes-merge.c
create mode 100644 notes-merge.h
create mode 100755 t/t3308-notes-merge.sh
create mode 100755 t/t3309-notes-merge-auto-resolve.sh
--
1.7.2.220.gea1d3
next reply other threads:[~2010-07-23 10:15 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-23 10:14 Johan Herland [this message]
2010-07-23 10:14 ` [WIP/RFC 01/13] (trivial) notes.h: Minor documentation fixes to copy_notes() Johan Herland
2010-07-23 10:14 ` [WIP/RFC 02/13] notes.h: Make default_notes_ref() available in notes API Johan Herland
2010-07-23 10:14 ` [WIP/RFC 03/13] notes.h/c: Clarify the handling of notes objects that are == null_sha1 Johan Herland
2010-07-23 10:14 ` [WIP/RFC 04/13] notes.h/c: Propagate combine_notes_fn return value to add_note() and beyond Johan Herland
2010-07-23 15:23 ` Jonathan Nieder
2010-07-23 22:39 ` Johan Herland
2010-07-23 10:14 ` [WIP/RFC 05/13] (trivial) t3303: Indent with tabs instead of spaces for consistency Johan Herland
2010-07-23 10:14 ` [WIP/RFC 06/13] notes.c: Use two newlines (instead of one) when concatenating notes Johan Herland
2010-07-23 10:14 ` [WIP/RFC 07/13] (trivial) git notes prune: Accept --verbose in addition to -v Johan Herland
2010-07-23 10:14 ` [WIP/RFC 08/13] builtin/notes.c: Split notes ref DWIMmery into a separate function Johan Herland
2010-07-23 10:15 ` [WIP/RFC 09/13] git notes merge: Initial implementation handling trivial merges only Johan Herland
2010-07-24 8:32 ` Stephen Boyd
2010-07-25 14:14 ` Johan Herland
2010-07-23 10:15 ` [WIP/RFC 10/13] builtin/notes.c: Refactor creation of notes commits Johan Herland
2010-07-23 10:15 ` [WIP/RFC 11/13] git notes merge: Handle real, non-conflicting notes merges Johan Herland
2010-07-23 10:15 ` [WIP/RFC 12/13] git notes merge: Add automatic conflict resolvers (ours, theirs, union) Johan Herland
2010-07-24 8:18 ` Stephen Boyd
2010-07-25 18:58 ` Johan Herland
2010-07-23 10:15 ` [WIP/RFC 13/13] Documentation: Preliminary docs on 'git notes merge' Johan Herland
2010-07-24 8:21 ` Stephen Boyd
2010-07-25 19:02 ` Johan Herland
2010-07-25 10:45 ` [WIP/RFC 00/13] git notes merge Sam Vilain
2010-07-25 16:44 ` Johan Herland
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1279880104-29796-1-git-send-email-johan@herland.net \
--to=johan@herland.net \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).