Browse Source

Merge branch 'jk/cached-commit-buffer' into HEAD

* jk/cached-commit-buffer:
  revision: drop --show-all option
  commit: drop uses of get_cached_commit_buffer()
  Git 2.16.2
maint
Junio C Hamano 7 years ago
parent
commit
2ee13a780b
  1. 30
      Documentation/RelNotes/2.16.2.txt
  2. 2
      builtin/rev-list.c
  3. 3
      log-tree.c
  4. 10
      revision.c
  5. 1
      revision.h
  6. 31
      t/t6015-rev-list-show-all-parents.sh

30
Documentation/RelNotes/2.16.2.txt

@ -0,0 +1,30 @@ @@ -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.

2
builtin/rev-list.c

@ -134,7 +134,7 @@ static void show_commit(struct commit *commit, void *data) @@ -134,7 +134,7 @@ static void show_commit(struct commit *commit, void *data)
else
putchar('\n');

if (revs->verbose_header && get_cached_commit_buffer(commit, NULL)) {
if (revs->verbose_header) {
struct strbuf buf = STRBUF_INIT;
struct pretty_print_context ctx = {0};
ctx.abbrev = revs->abbrev;

3
log-tree.c

@ -659,9 +659,6 @@ void show_log(struct rev_info *opt) @@ -659,9 +659,6 @@ void show_log(struct rev_info *opt)
show_mergetag(opt, commit);
}

if (!get_cached_commit_buffer(commit, NULL))
return;

if (opt->show_notes) {
int raw;
struct strbuf notebuf = STRBUF_INIT;

10
revision.c

@ -1065,14 +1065,9 @@ static int limit_list(struct rev_info *revs) @@ -1065,14 +1065,9 @@ static int limit_list(struct rev_info *revs)
return -1;
if (obj->flags & UNINTERESTING) {
mark_parents_uninteresting(commit);
if (revs->show_all)
p = &commit_list_insert(commit, p)->next;
slop = still_interesting(list, date, slop, &interesting_cache);
if (slop)
continue;
/* If showing all, add the whole pending list to the end */
if (revs->show_all)
*p = list;
break;
}
if (revs->min_age != -1 && (commit->date > revs->min_age))
@ -1864,8 +1859,6 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg @@ -1864,8 +1859,6 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
revs->dense = 1;
} else if (!strcmp(arg, "--sparse")) {
revs->dense = 0;
} else if (!strcmp(arg, "--show-all")) {
revs->show_all = 1;
} else if (!strcmp(arg, "--in-commit-order")) {
revs->tree_blobs_in_commit_order = 1;
} else if (!strcmp(arg, "--remove-empty")) {
@ -3094,8 +3087,6 @@ enum commit_action get_commit_action(struct rev_info *revs, struct commit *commi @@ -3094,8 +3087,6 @@ enum commit_action get_commit_action(struct rev_info *revs, struct commit *commi
return commit_ignore;
if (revs->unpacked && has_sha1_pack(commit->object.oid.hash))
return commit_ignore;
if (revs->show_all)
return commit_show;
if (commit->object.flags & UNINTERESTING)
return commit_ignore;
if (revs->min_age != -1 &&
@ -3194,7 +3185,6 @@ enum commit_action simplify_commit(struct rev_info *revs, struct commit *commit) @@ -3194,7 +3185,6 @@ enum commit_action simplify_commit(struct rev_info *revs, struct commit *commit)
enum commit_action action = get_commit_action(revs, commit);

if (action == commit_show &&
!revs->show_all &&
revs->prune && revs->dense && want_ancestry(revs)) {
/*
* --full-diff on simplified parents is no good: it

1
revision.h

@ -90,7 +90,6 @@ struct rev_info { @@ -90,7 +90,6 @@ struct rev_info {
unsigned int dense:1,
prune:1,
no_walk:2,
show_all:1,
remove_empty_trees:1,
simplify_history:1,
topo_order:1,

31
t/t6015-rev-list-show-all-parents.sh

@ -1,31 +0,0 @@ @@ -1,31 +0,0 @@
#!/bin/sh

test_description='--show-all --parents does not rewrite TREESAME commits'

. ./test-lib.sh

test_expect_success 'set up --show-all --parents test' '
test_commit one foo.txt &&
commit1=$(git rev-list -1 HEAD) &&
test_commit two bar.txt &&
commit2=$(git rev-list -1 HEAD) &&
test_commit three foo.txt &&
commit3=$(git rev-list -1 HEAD)
'

test_expect_success '--parents rewrites TREESAME parents correctly' '
echo $commit3 $commit1 > expected &&
echo $commit1 >> expected &&
git rev-list --parents HEAD -- foo.txt > actual &&
test_cmp expected actual
'

test_expect_success '--parents --show-all does not rewrites TREESAME parents' '
echo $commit3 $commit2 > expected &&
echo $commit2 $commit1 >> expected &&
echo $commit1 >> expected &&
git rev-list --parents --show-all HEAD -- foo.txt > actual &&
test_cmp expected actual
'

test_done
Loading…
Cancel
Save