Hello community, here is the log from the commit of package git for openSUSE:Factory checked in at 2015-06-01 09:29:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/git (Old) and /work/SRC/openSUSE:Factory/.git.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "git" Changes: -------- --- /work/SRC/openSUSE:Factory/git/git.changes 2015-05-15 09:55:26.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.git.new/git.changes 2015-06-01 09:29:47.000000000 +0200 @@ -1,0 +2,24 @@ +Wed May 27 18:21:16 UTC 2015 - [email protected] + +- git 2.4.2: + * "git rev-list --objects $old --not --all" to see if everything that + is reachable from $old is already connected to the existing refs + was very inefficient. + * "hash-object --literally" introduced in v2.2 was not prepared to + take a really long object type name. + * "git rebase --quiet" was not quite quiet when there is nothing to + do. + * The completion for "log --decorate=" parameter value was incorrect. + * "filter-branch" corrupted commit log message that ends with an + incomplete line on platforms with some "sed" implementations that + munge such a line. Work it around by avoiding to use "sed". + * "git daemon" fails to build from the source under NO_IPV6 + configuration (regression in 2.4). + * "git stash pop/apply" forgot to make sure that not just the working + tree is clean but also the index is clean. The latter is important + as a stash application can conflict and the index will be used for + conflict resolution. + * No longer prepend $GIT_EXEC_PATH and install path to path of + executed subprograms and hooks. + +------------------------------------------------------------------- Old: ---- git-2.4.1.tar.sign git-2.4.1.tar.xz New: ---- git-2.4.2.tar.sign git-2.4.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ git.spec ++++++ --- /var/tmp/diff_new_pack.Nhs67s/_old 2015-06-01 09:29:48.000000000 +0200 +++ /var/tmp/diff_new_pack.Nhs67s/_new 2015-06-01 09:29:48.000000000 +0200 @@ -26,7 +26,7 @@ %endif Name: git -Version: 2.4.1 +Version: 2.4.2 Release: 0 Summary: Fast, scalable, distributed revision control system License: GPL-2.0 ++++++ git-2.4.1.tar.xz -> git-2.4.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/Documentation/RelNotes/2.4.2.txt new/git-2.4.2/Documentation/RelNotes/2.4.2.txt --- old/git-2.4.1/Documentation/RelNotes/2.4.2.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/git-2.4.2/Documentation/RelNotes/2.4.2.txt 2015-05-26 22:58:38.000000000 +0200 @@ -0,0 +1,45 @@ +Git v2.4.2 Release Notes +======================== + +Fixes since v2.4.1 +------------------ + + * "git rev-list --objects $old --not --all" to see if everything that + is reachable from $old is already connected to the existing refs + was very inefficient. + + * "hash-object --literally" introduced in v2.2 was not prepared to + take a really long object type name. + + * "git rebase --quiet" was not quite quiet when there is nothing to + do. + + * The completion for "log --decorate=" parameter value was incorrect. + + * "filter-branch" corrupted commit log message that ends with an + incomplete line on platforms with some "sed" implementations that + munge such a line. Work it around by avoiding to use "sed". + + * "git daemon" fails to build from the source under NO_IPV6 + configuration (regression in 2.4). + + * "git stash pop/apply" forgot to make sure that not just the working + tree is clean but also the index is clean. The latter is important + as a stash application can conflict and the index will be used for + conflict resolution. + + * We have prepended $GIT_EXEC_PATH and the path "git" is installed in + (typically "/usr/bin") to $PATH when invoking subprograms and hooks + for almost eternity, but the original use case the latter tried to + support was semi-bogus (i.e. install git to /opt/foo/git and run it + without having /opt/foo on $PATH), and more importantly it has + become less and less relevant as Git grew more mainstream (i.e. the + users would _want_ to have it on their $PATH). Stop prepending the + path in which "git" is installed to users' $PATH, as that would + interfere the command search order people depend on (e.g. they may + not like versions of programs that are unrelated to Git in /usr/bin + and want to override them by having different ones in /usr/local/bin + and have the latter directory earlier in their $PATH). + +Also contains typofixes, documentation updates and trivial code +clean-ups. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/Documentation/git-hash-object.txt new/git-2.4.2/Documentation/git-hash-object.txt --- old/git-2.4.1/Documentation/git-hash-object.txt 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/Documentation/git-hash-object.txt 2015-05-26 22:58:38.000000000 +0200 @@ -9,7 +9,7 @@ SYNOPSIS -------- [verse] -'git hash-object' [-t <type>] [-w] [--path=<file>|--no-filters] [--stdin] [--] <file>... +'git hash-object' [-t <type>] [-w] [--path=<file>|--no-filters] [--stdin [--literally]] [--] <file>... 'git hash-object' [-t <type>] [-w] --stdin-paths [--no-filters] < <list-of-paths> DESCRIPTION @@ -51,7 +51,13 @@ Hash the contents as is, ignoring any input filter that would have been chosen by the attributes mechanism, including the end-of-line conversion. If the file is read from standard input then this - is always implied, unless the --path option is given. + is always implied, unless the `--path` option is given. + +--literally:: + Allow `--stdin` to hash any garbage into a loose object which might not + otherwise pass standard object parsing or git-fsck checks. Useful for + stress-testing Git itself or reproducing characteristics of corrupt or + bogus objects encountered in the wild. GIT --- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/Documentation/git.txt new/git-2.4.2/Documentation/git.txt --- old/git-2.4.1/Documentation/git.txt 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/Documentation/git.txt 2015-05-26 22:58:38.000000000 +0200 @@ -43,9 +43,10 @@ branch of the `git.git` repository. Documentation for older releases are available here: -* link:v2.4.1/git.html[documentation for release 2.4.1] +* link:v2.4.2/git.html[documentation for release 2.4.2] * release notes for + link:RelNotes/2.4.2.txt[2.4.2], link:RelNotes/2.4.1.txt[2.4.1], link:RelNotes/2.4.0.txt[2.4]. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/GIT-VERSION-GEN new/git-2.4.2/GIT-VERSION-GEN --- old/git-2.4.1/GIT-VERSION-GEN 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/GIT-VERSION-GEN 2015-05-26 22:58:38.000000000 +0200 @@ -1,7 +1,7 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=v2.4.1 +DEF_VER=v2.4.2 LF=' ' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/RelNotes new/git-2.4.2/RelNotes --- old/git-2.4.1/RelNotes 2015-06-01 09:29:49.000000000 +0200 +++ new/git-2.4.2/RelNotes 2015-06-01 09:29:49.000000000 +0200 @@ -1 +1 @@ -symbolic link to Documentation/RelNotes/2.4.1.txt +symbolic link to Documentation/RelNotes/2.4.2.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/builtin/hash-object.c new/git-2.4.2/builtin/hash-object.c --- old/git-2.4.1/builtin/hash-object.c 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/builtin/hash-object.c 2015-05-26 22:58:38.000000000 +0200 @@ -22,10 +22,8 @@ if (strbuf_read(&buf, fd, 4096) < 0) ret = -1; - else if (flags & HASH_WRITE_OBJECT) - ret = write_sha1_file(buf.buf, buf.len, type, sha1); else - ret = hash_sha1_file(buf.buf, buf.len, type, sha1); + ret = hash_sha1_file_literally(buf.buf, buf.len, type, sha1, flags); strbuf_release(&buf); return ret; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/cache.h new/git-2.4.2/cache.h --- old/git-2.4.1/cache.h 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/cache.h 2015-05-26 22:58:38.000000000 +0200 @@ -874,6 +874,7 @@ extern int sha1_object_info(const unsigned char *, unsigned long *); extern int hash_sha1_file(const void *buf, unsigned long len, const char *type, unsigned char *sha1); extern int write_sha1_file(const void *buf, unsigned long len, const char *type, unsigned char *return_sha1); +extern int hash_sha1_file_literally(const void *buf, unsigned long len, const char *type, unsigned char *sha1, unsigned flags); extern int pretend_sha1_file(void *, unsigned long, enum object_type, unsigned char *); extern int force_object_loose(const unsigned char *sha1, time_t mtime); extern int git_open_noatime(const char *name); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/configure new/git-2.4.2/configure --- old/git-2.4.1/configure 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/configure 2015-05-26 22:58:38.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for git 2.4.1. +# Generated by GNU Autoconf 2.69 for git 2.4.2. # # Report bugs to <[email protected]>. # @@ -580,8 +580,8 @@ # Identity of this package. PACKAGE_NAME='git' PACKAGE_TARNAME='git' -PACKAGE_VERSION='2.4.1' -PACKAGE_STRING='git 2.4.1' +PACKAGE_VERSION='2.4.2' +PACKAGE_STRING='git 2.4.2' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='' @@ -1251,7 +1251,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures git 2.4.1 to adapt to many kinds of systems. +\`configure' configures git 2.4.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1312,7 +1312,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of git 2.4.1:";; + short | recursive ) echo "Configuration of git 2.4.2:";; esac cat <<\_ACEOF @@ -1451,7 +1451,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -git configure 2.4.1 +git configure 2.4.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1931,7 +1931,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by git $as_me 2.4.1, which was +It was created by git $as_me 2.4.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -8085,7 +8085,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by git $as_me 2.4.1, which was +This file was extended by git $as_me 2.4.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -8142,7 +8142,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -git config.status 2.4.1 +git config.status 2.4.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/contrib/completion/git-completion.bash new/git-2.4.2/contrib/completion/git-completion.bash --- old/git-2.4.1/contrib/completion/git-completion.bash 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/contrib/completion/git-completion.bash 2015-05-26 22:58:38.000000000 +0200 @@ -1448,7 +1448,7 @@ return ;; --decorate=*) - __gitcomp "long short" "" "${cur##--decorate=}" + __gitcomp "full short no" "" "${cur##--decorate=}" return ;; --*) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/daemon.c new/git-2.4.2/daemon.c --- old/git-2.4.1/daemon.c 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/daemon.c 2015-05-26 22:58:38.000000000 +0200 @@ -633,7 +633,7 @@ char **ap; static char addrbuf[HOST_NAME_MAX + 1]; - hent = gethostbyname(hostname.buf); + hent = gethostbyname(hi->hostname.buf); if (hent) { ap = hent->h_addr_list; memset(&sa, 0, sizeof sa); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/exec_cmd.c new/git-2.4.2/exec_cmd.c --- old/git-2.4.1/exec_cmd.c 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/exec_cmd.c 2015-05-26 22:58:38.000000000 +0200 @@ -96,7 +96,6 @@ struct strbuf new_path = STRBUF_INIT; add_path(&new_path, git_exec_path()); - add_path(&new_path, argv0_path); if (old_path) strbuf_addstr(&new_path, old_path); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/git-filter-branch.sh new/git-2.4.2/git-filter-branch.sh --- old/git-2.4.1/git-filter-branch.sh 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/git-filter-branch.sh 2015-05-26 22:58:38.000000000 +0200 @@ -346,7 +346,15 @@ die "parent filter failed: $filter_parent" fi - sed -e '1,/^$/d' <../commit | \ + { + while read -r header_line && test -n "$header_line" + do + # skip header lines... + :; + done + # and output the actual commit message + cat + } <../commit | eval "$filter_msg" > ../message || die "msg filter failed: $filter_msg" workdir=$workdir @SHELL_PATH@ -c "$filter_commit" "git commit-tree" \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/git-rebase.sh new/git-2.4.2/git-rebase.sh --- old/git-2.4.1/git-rebase.sh 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/git-rebase.sh 2015-05-26 22:58:38.000000000 +0200 @@ -582,7 +582,7 @@ # Lazily switch to the target branch if needed... test -z "$switch_to" || GIT_REFLOG_ACTION="$GIT_REFLOG_ACTION: checkout $switch_to" \ - git checkout "$switch_to" -- + git checkout -q "$switch_to" -- say "$(eval_gettext "Current branch \$branch_name is up to date.")" finish_rebase exit 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/git-stash.sh new/git-2.4.2/git-stash.sh --- old/git-2.4.1/git-stash.sh 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/git-stash.sh 2015-05-26 22:58:38.000000000 +0200 @@ -442,6 +442,8 @@ assert_stash_like "$@" git update-index -q --refresh || die "$(gettext "unable to refresh index")" + git diff-index --cached --quiet --ignore-submodules HEAD -- || + die "$(gettext "Cannot apply stash: Your index contains uncommitted changes.")" # current index state c_tree=$(git write-tree) || diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/git.spec new/git-2.4.2/git.spec --- old/git-2.4.1/git.spec 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/git.spec 2015-05-26 22:58:38.000000000 +0200 @@ -1,7 +1,7 @@ # Pass --without docs to rpmbuild if you don't want the documentation Name: git -Version: 2.4.1 +Version: 2.4.2 Release: 1%{?dist} Summary: Core git tools License: GPL diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/revision.c new/git-2.4.2/revision.c --- old/git-2.4.1/revision.c 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/revision.c 2015-05-26 22:58:38.000000000 +0200 @@ -345,14 +345,24 @@ die("%s is unknown object", name); } -static int everybody_uninteresting(struct commit_list *orig) +static int everybody_uninteresting(struct commit_list *orig, + struct commit **interesting_cache) { struct commit_list *list = orig; + + if (*interesting_cache) { + struct commit *commit = *interesting_cache; + if (!(commit->object.flags & UNINTERESTING)) + return 0; + } + while (list) { struct commit *commit = list->item; list = list->next; if (commit->object.flags & UNINTERESTING) continue; + if (interesting_cache) + *interesting_cache = commit; return 0; } return 1; @@ -940,7 +950,8 @@ /* How many extra uninteresting commits we want to see.. */ #define SLOP 5 -static int still_interesting(struct commit_list *src, unsigned long date, int slop) +static int still_interesting(struct commit_list *src, unsigned long date, int slop, + struct commit **interesting_cache) { /* * No source list at all? We're definitely done.. @@ -959,7 +970,7 @@ * Does the source list still have interesting commits in * it? Definitely not done.. */ - if (!everybody_uninteresting(src)) + if (!everybody_uninteresting(src, interesting_cache)) return SLOP; /* Ok, we're closing in.. */ @@ -1078,6 +1089,7 @@ struct commit_list *newlist = NULL; struct commit_list **p = &newlist; struct commit_list *bottom = NULL; + struct commit *interesting_cache = NULL; if (revs->ancestry_path) { bottom = collect_bottom_commits(list); @@ -1094,6 +1106,9 @@ list = list->next; free(entry); + if (commit == interesting_cache) + interesting_cache = NULL; + if (revs->max_age != -1 && (commit->date < revs->max_age)) obj->flags |= UNINTERESTING; if (add_parents_to_list(revs, commit, &list, NULL) < 0) @@ -1102,7 +1117,7 @@ mark_parents_uninteresting(commit); if (revs->show_all) p = &commit_list_insert(commit, p)->next; - slop = still_interesting(list, date, slop); + slop = still_interesting(list, date, slop, &interesting_cache); if (slop) continue; /* If showing all, add the whole pending list to the end */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/sha1_file.c new/git-2.4.2/sha1_file.c --- old/git-2.4.1/sha1_file.c 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/sha1_file.c 2015-05-26 22:58:38.000000000 +0200 @@ -3009,9 +3009,8 @@ return 1; } -int write_sha1_file(const void *buf, unsigned long len, const char *type, unsigned char *returnsha1) +int write_sha1_file(const void *buf, unsigned long len, const char *type, unsigned char *sha1) { - unsigned char sha1[20]; char hdr[32]; int hdrlen; @@ -3019,13 +3018,32 @@ * it out into .git/objects/??/?{38} file. */ write_sha1_file_prepare(buf, len, type, sha1, hdr, &hdrlen); - if (returnsha1) - hashcpy(returnsha1, sha1); if (freshen_packed_object(sha1) || freshen_loose_object(sha1)) return 0; return write_loose_object(sha1, hdr, hdrlen, buf, len, 0); } +int hash_sha1_file_literally(const void *buf, unsigned long len, const char *type, + unsigned char *sha1, unsigned flags) +{ + char *header; + int hdrlen, status = 0; + + /* type string, SP, %lu of the length plus NUL must fit this */ + header = xmalloc(strlen(type) + 32); + write_sha1_file_prepare(buf, len, type, sha1, header, &hdrlen); + + if (!(flags & HASH_WRITE_OBJECT)) + goto cleanup; + if (freshen_packed_object(sha1) || freshen_loose_object(sha1)) + goto cleanup; + status = write_loose_object(sha1, header, hdrlen, buf, len, 0); + +cleanup: + free(header); + return status; +} + int force_object_loose(const unsigned char *sha1, time_t mtime) { void *buf; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/t/t1007-hash-object.sh new/git-2.4.2/t/t1007-hash-object.sh --- old/git-2.4.1/t/t1007-hash-object.sh 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/t/t1007-hash-object.sh 2015-05-26 22:58:38.000000000 +0200 @@ -209,4 +209,15 @@ test_must_fail git hash-object -t bl --stdin </dev/null ' +test_expect_success '--literally' ' + t=1234567890 && + echo example | git hash-object -t $t --literally --stdin +' + +test_expect_success '--literally with extra-long type' ' + t=12345678901234567890123456789012345678901234567890 && + t="$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t" && + echo example | git hash-object -t $t --literally --stdin +' + test_done diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/t/t3903-stash.sh new/git-2.4.2/t/t3903-stash.sh --- old/git-2.4.1/t/t3903-stash.sh 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/t/t3903-stash.sh 2015-05-26 22:58:38.000000000 +0200 @@ -10,6 +10,8 @@ test_expect_success 'stash some dirty working directory' ' echo 1 > file && git add file && + echo unrelated >other-file && + git add other-file && test_tick && git commit -m initial && echo 2 > file && @@ -43,10 +45,15 @@ test_cmp expect file ' +test_expect_success 'apply requires a clean index' ' + test_when_finished "git reset --hard" && + echo changed >other-file && + git add other-file && + test_must_fail git stash apply +' + test_expect_success 'apply does not need clean working directory' ' echo 4 >other-file && - git add other-file && - echo 5 >other-file && git stash apply && echo 3 >expect && test_cmp expect file @@ -695,8 +702,8 @@ ' test_expect_success 'stash list implies --first-parent -m' ' - cat >expect <<-\EOF && - stash@{0}: WIP on master: b27a2bc subdir + cat >expect <<-EOF && + stash@{0} diff --git a/file b/file index 257cc56..d26b33d 100644 @@ -706,13 +713,13 @@ -foo +working EOF - git stash list -p >actual && + git stash list --format=%gd -p >actual && test_cmp expect actual ' test_expect_success 'stash list --cc shows combined diff' ' cat >expect <<-\EOF && - stash@{0}: WIP on master: b27a2bc subdir + stash@{0} diff --cc file index 257cc56,9015a7a..d26b33d @@ -723,7 +730,7 @@ -index ++working EOF - git stash list -p --cc >actual && + git stash list --format=%gd -p --cc >actual && test_cmp expect actual ' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/t/t7003-filter-branch.sh new/git-2.4.2/t/t7003-filter-branch.sh --- old/git-2.4.1/t/t7003-filter-branch.sh 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/t/t7003-filter-branch.sh 2015-05-26 22:58:38.000000000 +0200 @@ -394,4 +394,14 @@ test $orig_head != `git show-ref --hash --head HEAD` ' +test_expect_success 'filter commit message without trailing newline' ' + git reset --hard original && + commit=$(printf "no newline" | git commit-tree HEAD^{tree}) && + git update-ref refs/heads/no-newline $commit && + git filter-branch -f refs/heads/no-newline && + echo $commit >expect && + git rev-parse refs/heads/no-newline >actual && + test_cmp expect actual +' + test_done diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.1/version new/git-2.4.2/version --- old/git-2.4.1/version 2015-05-13 23:38:51.000000000 +0200 +++ new/git-2.4.2/version 2015-05-26 22:58:38.000000000 +0200 @@ -1 +1 @@ -2.4.1 +2.4.2
