diff options
| author | Junio C Hamano <gitster@pobox.com> | 2017-05-29 12:34:52 +0900 | 
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2017-05-29 12:34:53 +0900 | 
| commit | 965993d1ef59fe1667a0e32c213569be6a6535af (patch) | |
| tree | 6196e62d9e95924e8a4b224e3452046568cc227a /commit.c | |
| parent | 6f7f11f7aa7b95c1555cd389a219f76ee30b5cc7 (diff) | |
| parent | d76650b8d16c9e5e7b6ee94e6922a3b99be74746 (diff) | |
| download | git-965993d1ef59fe1667a0e32c213569be6a6535af.tar.gz | |
Merge branch 'bm/interpret-trailers-cut-line-is-eom'
"git interpret-trailers", when used as GIT_EDITOR for "git commit
-v", looked for and appended to a trailer block at the very end,
i.e. at the end of the "diff" output.  The command has been
corrected to pay attention to the cut-mark line "commit -v" adds to
the buffer---the real trailer block should appear just before it.
* bm/interpret-trailers-cut-line-is-eom:
  interpret-trailers: honor the cut line
Diffstat (limited to 'commit.c')
| -rw-r--r-- | commit.c | 13 | 
1 files changed, 7 insertions, 6 deletions
| @@ -11,6 +11,7 @@  #include "commit-slab.h"  #include "prio-queue.h"  #include "sha1-lookup.h" +#include "wt-status.h"  static struct commit_extra_header *read_commit_extra_header_lines(const char *buf, size_t len, const char **); @@ -1648,10 +1649,9 @@ const char *find_commit_header(const char *msg, const char *key, size_t *out_len  /*   * Inspect the given string and determine the true "end" of the log message, in   * order to find where to put a new Signed-off-by: line.  Ignored are - * trailing comment lines and blank lines, and also the traditional - * "Conflicts:" block that is not commented out, so that we can use - * "git commit -s --amend" on an existing commit that forgot to remove - * it. + * trailing comment lines and blank lines.  To support "git commit -s + * --amend" on an existing commit, we also ignore "Conflicts:".  To + * support "git commit -v", we truncate at cut lines.   *   * Returns the number of bytes from the tail to ignore, to be fed as   * the second parameter to append_signoff(). @@ -1661,8 +1661,9 @@ int ignore_non_trailer(const char *buf, size_t len)  	int boc = 0;  	int bol = 0;  	int in_old_conflicts_block = 0; +	size_t cutoff = wt_status_locate_end(buf, len); -	while (bol < len) { +	while (bol < cutoff) {  		const char *next_line = memchr(buf + bol, '\n', len - bol);  		if (!next_line) @@ -1688,5 +1689,5 @@ int ignore_non_trailer(const char *buf, size_t len)  		}  		bol = next_line - buf;  	} -	return boc ? len - boc : 0; +	return boc ? len - boc : len - cutoff;  } | 
