git/builtin
Junio C Hamano aab845424e am: match --signoff to the original scripted version
Linus noticed that the recently reimplemented "git am -s" defines
the trailer block too rigidly, resulting in an unnecessary blank
line between the existing sign-offs and his new sign-off.  An e-mail
submission sent to Linus in real life ends with mixture of sign-offs
and commentaries, e.g.

	title here

	message here

	Signed-off-by: Original Author <original@auth.or>
	[rv: tweaked frotz and nitfol]
	Signed-off-by: Re Viewer <rv@ew.er>
	Signed-off-by: Other Reviewer <other@rev.ewer>
	---
	patch here

Because the reimplementation reused append_signoff() helper that is
used by other codepaths, which is unaware that people intermix such
comments with their sign-offs in the trailer block, such a message
was judged to end with a non-trailer, resulting in an extra blank
line before adding a new sign-off.

The original scripted version of "git am" used a lot looser
definition, i.e. "if and only if there is no line that begins with
Signed-off-by:, add a blank line before adding a new sign-off".  For
the upcoming release, stop using the append_signoff() in "git am"
and reimplement the looser definition used by the scripted version
to use only in "git am" to fix this regression in "am" while
avoiding new regressions to other users of append_signoff().

In the longer term, we should look into loosening append_signoff()
so that other codepaths that add a new sign-off behave the same way
as "git am -s", but that is a task for post-release.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-09-06 19:59:40 -07:00
..
add.c Merge branch 'nd/diff-i-t-a' 2015-06-25 10:47:46 -07:00
am.c am: match --signoff to the original scripted version 2015-09-06 19:59:40 -07:00
annotate.c annotate: use argv_array 2014-07-16 11:10:11 -07:00
apply.c Merge branch 'jc/apply-reject-noop-hunk' 2015-06-24 12:21:39 -07:00
archive.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
bisect--helper.c Replace deprecated OPT_BOOLEAN by OPT_BOOL 2013-08-05 11:32:19 -07:00
blame.c Merge branch 'jk/date-mode-format' 2015-08-03 11:01:27 -07:00
branch.c delete_ref(): use the usual convention for old_sha1 2015-06-22 13:17:14 -07:00
bundle.c bundle: verify arguments more strictly 2015-05-08 10:52:11 -07:00
cat-file.c cat-file: sort and de-dup output of --batch-all-objects 2015-06-26 09:24:42 -07:00
check-attr.c standardize usage info string format 2015-01-14 09:32:04 -08:00
check-ignore.c standardize usage info string format 2015-01-14 09:32:04 -08:00
check-mailmap.c standardize usage info string format 2015-01-14 09:32:04 -08:00
check-ref-format.c standardize usage info string format 2015-01-14 09:32:04 -08:00
checkout-index.c prefix_path(): unconditionally free results in the callers 2015-05-05 10:31:51 -07:00
checkout.c Merge branch 'es/worktree-add' 2015-07-13 14:02:19 -07:00
clean.c Merge branch 'rs/janitorial' into maint 2015-06-16 14:33:47 -07:00
clone.c Merge branch 'mh/init-delete-refs-api' 2015-08-03 11:01:17 -07:00
column.c standardize usage info string format 2015-01-14 09:32:04 -08:00
commit-tree.c commit-tree: simplify parsing of option -S using skip_prefix() 2014-12-29 09:32:45 -08:00
commit.c convert "enum date_mode" into a struct 2015-06-29 11:39:07 -07:00
config.c Merge branch 'pt/xdg-config-path' into maint 2015-06-05 12:00:04 -07:00
count-objects.c count-objects: report unused files in $GIT_DIR/worktrees/... 2014-12-01 11:00:18 -08:00
credential.c
describe.c get_name(): rewrite to take an object_id argument 2015-05-25 12:19:29 -07:00
diff-files.c standardize usage info string format 2015-01-14 09:32:04 -08:00
diff-index.c standardize usage info string format 2015-01-14 09:32:04 -08:00
diff-tree.c standardize usage info string format 2015-01-14 09:32:04 -08:00
diff.c lockfile.h: extract new header file for the functions in lockfile.c 2014-10-01 13:56:14 -07:00
fast-export.c refs: move the remaining ref module declarations to refs.h 2015-06-22 13:17:12 -07:00
fetch-pack.c standardize usage info string format 2015-01-14 09:32:04 -08:00
fetch.c prune_refs(): use delete_refs() 2015-06-22 13:17:10 -07:00
fmt-merge-msg.c refs: move the remaining ref module declarations to refs.h 2015-06-22 13:17:12 -07:00
for-each-ref.c for-each-ref: introduce filter_refs() 2015-08-03 10:24:07 -07:00
fsck.c Merge branch 'js/fsck-opt' 2015-08-03 11:01:18 -07:00
gc.c Merge branch 'nd/multiple-work-trees' 2015-07-13 14:02:02 -07:00
get-tar-commit-id.c use skip_prefix() to avoid more magic numbers 2014-10-07 11:09:16 -07:00
grep.c Merge branch 'ps/grep-help-all-callback-arg' 2015-04-20 15:28:34 -07:00
hash-object.c Merge branch 'jc/hash-object' into maint 2015-05-26 13:49:25 -07:00
help.c Merge branch 'sb/leaks' 2015-03-20 13:11:53 -07:00
index-pack.c Merge branch 'js/fsck-opt' 2015-08-03 11:01:18 -07:00
init-db.c refs: move the remaining ref module declarations to refs.h 2015-06-22 13:17:12 -07:00
interpret-trailers.c trailer: add interpret-trailers command 2014-10-13 13:55:27 -07:00
log.c Merge branch 'jk/date-mode-format' 2015-08-03 11:01:27 -07:00
ls-files.c Merge branch 'jc/report-path-error-to-dir' into maint 2015-03-31 14:53:08 -07:00
ls-remote.c standardize usage info string format 2015-01-14 09:32:04 -08:00
ls-tree.c ls-tree: disable negative pathspec because it's not supported 2014-12-01 11:33:45 -08:00
mailinfo.c standardize usage info string format 2015-01-14 09:32:04 -08:00
mailsplit.c mailsplit: remove unnecessary unlink(2) call 2014-10-07 10:49:57 -07:00
merge-base.c standardize usage info string format 2015-01-14 09:32:04 -08:00
merge-file.c Merge branch 'ab/merge-file-prefix' 2015-02-22 12:28:25 -08:00
merge-index.c standardize usage info string format 2015-01-14 09:32:04 -08:00
merge-ours.c
merge-recursive.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
merge-tree.c merge-tree: remove unused df_conflict arguments 2014-09-02 11:02:58 -07:00
merge.c Merge branch 'jk/at-push-sha1' 2015-06-05 12:17:36 -07:00
mktag.c
mktree.c builtin/mktree.c: use ALLOC_GROW() in append_to_tree() 2014-03-03 14:54:45 -08:00
mv.c standardize usage info string format 2015-01-14 09:32:04 -08:00
name-rev.c name_ref(): rewrite to take an object_id argument 2015-05-25 12:19:29 -07:00
notes.c standardize usage info string format 2015-01-14 09:32:04 -08:00
pack-objects.c parse-options: move unsigned long option parsing out of pack-objects.c 2015-06-22 15:07:21 -07:00
pack-redundant.c standardize usage info string format 2015-01-14 09:32:04 -08:00
pack-refs.c standardize usage info string format 2015-01-14 09:32:04 -08:00
patch-id.c patch-id: convert to use struct object_id 2015-03-13 22:43:14 -07:00
prune-packed.c standardize usage info string format 2015-01-14 09:32:04 -08:00
prune.c Merge branch 'nd/multiple-work-trees' 2015-07-13 14:02:02 -07:00
pull.c pull: remove redirection to git-pull.sh 2015-06-18 13:18:59 -07:00
push.c push: allow --follow-tags to be set by config push.followTags 2015-03-14 15:08:35 -07:00
read-tree.c lockfile.h: extract new header file for the functions in lockfile.c 2014-10-01 13:56:14 -07:00
receive-pack.c fsck: git receive-pack: support excluding objects from fsck'ing 2015-06-23 14:27:37 -07:00
reflog.c builtin/reflog: rewrite ref functions to take an object_id argument 2015-05-25 12:19:30 -07:00
remote-ext.c use skip_prefix() to avoid more magic numbers 2014-10-07 11:09:16 -07:00
remote-fd.c
remote.c prune_remote(): use delete_refs() 2015-06-22 13:17:10 -07:00
repack.c Merge branch 'nd/multiple-work-trees' 2015-05-11 14:23:39 -07:00
replace.c Merge branch 'mh/replace-refs' 2015-08-03 11:01:10 -07:00
rerere.c standardize usage info string format 2015-01-14 09:32:04 -08:00
reset.c lockfile.h: extract new header file for the functions in lockfile.c 2014-10-01 13:56:14 -07:00
rev-list.c Merge branch 'ls/hint-rev-list-count' 2015-07-10 14:26:13 -07:00
rev-parse.c rev-parse --parseopt: allow [*=?!] in argument hints 2015-07-15 10:30:54 -07:00
revert.c standardize usage info string format 2015-01-14 09:32:04 -08:00
rm.c use file_exists() to check if a file exists in the worktree 2015-05-20 13:49:10 -07:00
send-pack.c send-pack.c: add --atomic command line argument 2015-01-07 19:56:44 -08:00
shortlog.c convert "enum date_mode" into a struct 2015-06-29 11:39:07 -07:00
show-branch.c convert "enum date_mode" into a struct 2015-06-29 11:39:07 -07:00
show-ref.c show_ref(): convert local variable peeled to object_id 2015-05-25 12:19:32 -07:00
stripspace.c builtin/stripspace.c: fix broken indentation 2013-09-06 13:33:17 -07:00
symbolic-ref.c standardize usage info string format 2015-01-14 09:32:04 -08:00
tag.c builtin/show-ref: rewrite to take an object_id argument 2015-05-25 12:19:33 -07:00
unpack-file.c
unpack-objects.c fsck (receive-pack): allow demoting errors to warnings 2015-06-23 14:27:34 -07:00
update-index.c Merge branch 'nd/untracked-cache' 2015-05-26 13:24:46 -07:00
update-ref.c delete_ref(): use the usual convention for old_sha1 2015-06-22 13:17:14 -07:00
update-server-info.c
upload-archive.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
var.c
verify-commit.c verify-commit: add option to print raw gpg status information 2015-06-22 14:20:47 -07:00
verify-pack.c standardize usage info string format 2015-01-14 09:32:04 -08:00
verify-tag.c verify-tag: add option to print raw gpg status information 2015-06-22 14:20:47 -07:00
worktree.c Merge branch 'es/worktree-add' 2015-07-13 14:02:19 -07:00
write-tree.c