Merge branch 'pw/rebase-keep-empty-fixes' into pw/rebase-signoff
* pw/rebase-keep-empty-fixes: rebase: respect --no-keep-empty rebase -i --keep-empty: don't prune empty commits rebase --root: stop assuming squash_onto is unset Git 2.16.2
This commit is contained in:
commit
56173d28a5
30
Documentation/RelNotes/2.16.2.txt
Normal file
30
Documentation/RelNotes/2.16.2.txt
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
Git v2.16.2 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
Fixes since v2.16.1
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
* An old regression in "git describe --all $annotated_tag^0" has been
|
||||||
|
fixed.
|
||||||
|
|
||||||
|
* "git svn dcommit" did not take into account the fact that a
|
||||||
|
svn+ssh:// URL with a username@ (typically used for pushing) refers
|
||||||
|
to the same SVN repository without the username@ and failed when
|
||||||
|
svn.pushmergeinfo option is set.
|
||||||
|
|
||||||
|
* "git merge -Xours/-Xtheirs" learned to use our/their version when
|
||||||
|
resolving a conflicting updates to a symbolic link.
|
||||||
|
|
||||||
|
* "git clone $there $here" is allowed even when here directory exists
|
||||||
|
as long as it is an empty directory, but the command incorrectly
|
||||||
|
removed it upon a failure of the operation.
|
||||||
|
|
||||||
|
* "git stash -- <pathspec>" incorrectly blew away untracked files in
|
||||||
|
the directory that matched the pathspec, which has been corrected.
|
||||||
|
|
||||||
|
* "git add -p" was taught to ignore local changes to submodules as
|
||||||
|
they do not interfere with the partial addition of regular changes
|
||||||
|
anyway.
|
||||||
|
|
||||||
|
|
||||||
|
Also contains various documentation updates and code clean-ups.
|
@ -60,6 +60,7 @@ $(gettext 'Resolve all conflicts manually, mark them as resolved with
|
|||||||
You can instead skip this commit: run "git rebase --skip".
|
You can instead skip this commit: run "git rebase --skip".
|
||||||
To abort and get back to the state before "git rebase", run "git rebase --abort".')
|
To abort and get back to the state before "git rebase", run "git rebase --abort".')
|
||||||
"
|
"
|
||||||
|
squash_onto=
|
||||||
unset onto
|
unset onto
|
||||||
unset restrict_revision
|
unset restrict_revision
|
||||||
cmd=
|
cmd=
|
||||||
@ -262,6 +263,9 @@ do
|
|||||||
--keep-empty)
|
--keep-empty)
|
||||||
keep_empty=yes
|
keep_empty=yes
|
||||||
;;
|
;;
|
||||||
|
--no-keep-empty)
|
||||||
|
keep_empty=
|
||||||
|
;;
|
||||||
--preserve-merges)
|
--preserve-merges)
|
||||||
preserve_merges=t
|
preserve_merges=t
|
||||||
test -z "$interactive_rebase" && interactive_rebase=implied
|
test -z "$interactive_rebase" && interactive_rebase=implied
|
||||||
|
@ -2992,7 +2992,7 @@ int sequencer_make_script(FILE *out, int argc, const char **argv,
|
|||||||
init_revisions(&revs, NULL);
|
init_revisions(&revs, NULL);
|
||||||
revs.verbose_header = 1;
|
revs.verbose_header = 1;
|
||||||
revs.max_parents = 1;
|
revs.max_parents = 1;
|
||||||
revs.cherry_pick = 1;
|
revs.cherry_mark = 1;
|
||||||
revs.limited = 1;
|
revs.limited = 1;
|
||||||
revs.reverse = 1;
|
revs.reverse = 1;
|
||||||
revs.right_only = 1;
|
revs.right_only = 1;
|
||||||
@ -3017,8 +3017,12 @@ int sequencer_make_script(FILE *out, int argc, const char **argv,
|
|||||||
return error(_("make_script: error preparing revisions"));
|
return error(_("make_script: error preparing revisions"));
|
||||||
|
|
||||||
while ((commit = get_revision(&revs))) {
|
while ((commit = get_revision(&revs))) {
|
||||||
|
int is_empty = is_original_commit_empty(commit);
|
||||||
|
|
||||||
|
if (!is_empty && (commit->object.flags & PATCHSAME))
|
||||||
|
continue;
|
||||||
strbuf_reset(&buf);
|
strbuf_reset(&buf);
|
||||||
if (!keep_empty && is_original_commit_empty(commit))
|
if (!keep_empty && is_empty)
|
||||||
strbuf_addf(&buf, "%c ", comment_line_char);
|
strbuf_addf(&buf, "%c ", comment_line_char);
|
||||||
strbuf_addf(&buf, "%s %s ", insn,
|
strbuf_addf(&buf, "%s %s ", insn,
|
||||||
oid_to_hex(&commit->object.oid));
|
oid_to_hex(&commit->object.oid));
|
||||||
|
@ -215,7 +215,7 @@ test_run_rebase () {
|
|||||||
}
|
}
|
||||||
test_run_rebase success ''
|
test_run_rebase success ''
|
||||||
test_run_rebase failure -m
|
test_run_rebase failure -m
|
||||||
test_run_rebase failure -i
|
test_run_rebase success -i
|
||||||
test_run_rebase failure -p
|
test_run_rebase failure -p
|
||||||
|
|
||||||
# m
|
# m
|
||||||
|
Loading…
Reference in New Issue
Block a user