Hello community, here is the log from the commit of package git for openSUSE:Factory checked in at 2015-07-21 13:25:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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-07-05 18:01:26.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.git.new/git.changes 2015-07-21 13:25:31.000000000 +0200 @@ -1,0 +2,15 @@ +Fri Jul 17 10:41:11 UTC 2015 - [email protected] + +- git 2.4.6: + * "git fetch --depth=<depth>" and "git clone --depth=<depth>" + issued a shallow transfer request even to an upload-pack that + does not support the capability. + * "git fsck" used to ignore missing or invalid objects recorded in + reflog. + * The tcsh completion writes a bash scriptlet but that would have + failed for users with noclobber set. + * "git format-patch --ignore-if-upstream A..B" did not like to be + fed tags as boundary commits. +- git-tcsh-completion-fixes.diff adjusted for context changes + +------------------------------------------------------------------- Old: ---- git-2.4.5.tar.sign git-2.4.5.tar.xz New: ---- git-2.4.6.tar.sign git-2.4.6.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ git.spec ++++++ --- /var/tmp/diff_new_pack.Md0icg/_old 2015-07-21 13:25:32.000000000 +0200 +++ /var/tmp/diff_new_pack.Md0icg/_new 2015-07-21 13:25:32.000000000 +0200 @@ -26,7 +26,7 @@ %endif Name: git -Version: 2.4.5 +Version: 2.4.6 Release: 0 Summary: Fast, scalable, distributed revision control system License: GPL-2.0 ++++++ git-2.4.5.tar.xz -> git-2.4.6.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/Documentation/RelNotes/2.4.6.txt new/git-2.4.6/Documentation/RelNotes/2.4.6.txt --- old/git-2.4.5/Documentation/RelNotes/2.4.6.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/git-2.4.6/Documentation/RelNotes/2.4.6.txt 2015-07-15 22:29:34.000000000 +0200 @@ -0,0 +1,23 @@ +Git v2.4.6 Release Notes +======================== + +Fixes since v2.4.5 +------------------ + + * "git fetch --depth=<depth>" and "git clone --depth=<depth>" issued + a shallow transfer request even to an upload-pack that does not + support the capability. + + * "git fsck" used to ignore missing or invalid objects recorded in reflog. + + * The tcsh completion writes a bash scriptlet but that would have + failed for users with noclobber set. + + * Recent Mac OS X updates breaks the logic to detect that the machine + is on the AC power in the sample pre-auto-gc script. + + * "git format-patch --ignore-if-upstream A..B" did not like to be fed + tags as boundary commits. + +Also contains typofixes, documentation updates and trivial code +clean-ups. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/Documentation/git-describe.txt new/git-2.4.6/Documentation/git-describe.txt --- old/git-2.4.5/Documentation/git-describe.txt 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/Documentation/git-describe.txt 2015-07-15 22:29:34.000000000 +0200 @@ -3,7 +3,7 @@ NAME ---- -git-describe - Show the most recent tag that is reachable from a commit +git-describe - Describe a commit using the most recent tag reachable from it SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/Documentation/git-format-patch.txt new/git-2.4.6/Documentation/git-format-patch.txt --- old/git-2.4.5/Documentation/git-format-patch.txt 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/Documentation/git-format-patch.txt 2015-07-15 22:29:34.000000000 +0200 @@ -170,7 +170,7 @@ -v <n>:: --reroll-count=<n>:: Mark the series as the <n>-th iteration of the topic. The - output filenames have `v<n>` pretended to them, and the + output filenames have `v<n>` prepended to them, and the subject prefix ("PATCH" by default, but configurable via the `--subject-prefix` option) has ` v<n>` appended to it. E.g. `--reroll-count=4` may produce `v4-0001-add-makefile.patch` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/Documentation/git.txt new/git-2.4.6/Documentation/git.txt --- old/git-2.4.5/Documentation/git.txt 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/Documentation/git.txt 2015-07-15 22:29:34.000000000 +0200 @@ -43,9 +43,10 @@ branch of the `git.git` repository. Documentation for older releases are available here: -* link:v2.4.5/git.html[documentation for release 2.4.5] +* link:v2.4.6/git.html[documentation for release 2.4.6] * release notes for + link:RelNotes/2.4.6.txt[2.4.6], link:RelNotes/2.4.5.txt[2.4.5], link:RelNotes/2.4.4.txt[2.4.4], link:RelNotes/2.4.3.txt[2.4.3], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/GIT-VERSION-GEN new/git-2.4.6/GIT-VERSION-GEN --- old/git-2.4.5/GIT-VERSION-GEN 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/GIT-VERSION-GEN 2015-07-15 22:29:34.000000000 +0200 @@ -1,7 +1,7 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=v2.4.5 +DEF_VER=v2.4.6 LF=' ' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/RelNotes new/git-2.4.6/RelNotes --- old/git-2.4.5/RelNotes 2015-07-21 13:25:33.000000000 +0200 +++ new/git-2.4.6/RelNotes 2015-07-21 13:25:33.000000000 +0200 @@ -1 +1 @@ -symbolic link to Documentation/RelNotes/2.4.5.txt +symbolic link to Documentation/RelNotes/2.4.6.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/builtin/fsck.c new/git-2.4.6/builtin/fsck.c --- old/git-2.4.5/builtin/fsck.c 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/builtin/fsck.c 2015-07-15 22:29:34.000000000 +0200 @@ -451,34 +451,40 @@ static int default_refs; +static void fsck_handle_reflog_sha1(const char *refname, unsigned char *sha1) +{ + struct object *obj; + + if (!is_null_sha1(sha1)) { + obj = lookup_object(sha1); + if (obj) { + obj->used = 1; + mark_object_reachable(obj); + } else { + error("%s: invalid reflog entry %s", refname, sha1_to_hex(sha1)); + errors_found |= ERROR_REACHABLE; + } + } +} + static int fsck_handle_reflog_ent(unsigned char *osha1, unsigned char *nsha1, const char *email, unsigned long timestamp, int tz, const char *message, void *cb_data) { - struct object *obj; + const char *refname = cb_data; if (verbose) fprintf(stderr, "Checking reflog %s->%s\n", sha1_to_hex(osha1), sha1_to_hex(nsha1)); - if (!is_null_sha1(osha1)) { - obj = lookup_object(osha1); - if (obj) { - obj->used = 1; - mark_object_reachable(obj); - } - } - obj = lookup_object(nsha1); - if (obj) { - obj->used = 1; - mark_object_reachable(obj); - } + fsck_handle_reflog_sha1(refname, osha1); + fsck_handle_reflog_sha1(refname, nsha1); return 0; } static int fsck_handle_reflog(const char *logname, const unsigned char *sha1, int flag, void *cb_data) { - for_each_reflog_ent(logname, fsck_handle_reflog_ent, NULL); + for_each_reflog_ent(logname, fsck_handle_reflog_ent, (void *)logname); return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/builtin/log.c new/git-2.4.6/builtin/log.c --- old/git-2.4.5/builtin/log.c 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/builtin/log.c 2015-07-15 22:29:34.000000000 +0200 @@ -795,7 +795,7 @@ static void get_patch_ids(struct rev_info *rev, struct patch_ids *ids) { struct rev_info check_rev; - struct commit *commit; + struct commit *commit, *c1, *c2; struct object *o1, *o2; unsigned flags1, flags2; @@ -803,9 +803,11 @@ die(_("Need exactly one range.")); o1 = rev->pending.objects[0].item; - flags1 = o1->flags; o2 = rev->pending.objects[1].item; + flags1 = o1->flags; flags2 = o2->flags; + c1 = lookup_commit_reference(o1->sha1); + c2 = lookup_commit_reference(o2->sha1); if ((flags1 & UNINTERESTING) == (flags2 & UNINTERESTING)) die(_("Not a range.")); @@ -827,10 +829,8 @@ } /* reset for next revision walk */ - clear_commit_marks((struct commit *)o1, - SEEN | UNINTERESTING | SHOWN | ADDED); - clear_commit_marks((struct commit *)o2, - SEEN | UNINTERESTING | SHOWN | ADDED); + clear_commit_marks(c1, SEEN | UNINTERESTING | SHOWN | ADDED); + clear_commit_marks(c2, SEEN | UNINTERESTING | SHOWN | ADDED); o1->flags = flags1; o2->flags = flags2; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/configure new/git-2.4.6/configure --- old/git-2.4.5/configure 2015-06-25 21:15:46.000000000 +0200 +++ new/git-2.4.6/configure 2015-07-15 22:29:34.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.5. +# Generated by GNU Autoconf 2.69 for git 2.4.6. # # Report bugs to <[email protected]>. # @@ -580,8 +580,8 @@ # Identity of this package. PACKAGE_NAME='git' PACKAGE_TARNAME='git' -PACKAGE_VERSION='2.4.5' -PACKAGE_STRING='git 2.4.5' +PACKAGE_VERSION='2.4.6' +PACKAGE_STRING='git 2.4.6' 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.5 to adapt to many kinds of systems. +\`configure' configures git 2.4.6 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.5:";; + short | recursive ) echo "Configuration of git 2.4.6:";; 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.5 +git configure 2.4.6 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.5, which was +It was created by git $as_me 2.4.6, 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.5, which was +This file was extended by git $as_me 2.4.6, 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.5 +git config.status 2.4.6 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.5/contrib/completion/git-completion.tcsh new/git-2.4.6/contrib/completion/git-completion.tcsh --- old/git-2.4.5/contrib/completion/git-completion.tcsh 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/contrib/completion/git-completion.tcsh 2015-07-15 22:29:34.000000000 +0200 @@ -41,7 +41,7 @@ exit endif -cat << EOF > ${__git_tcsh_completion_script} +cat << EOF >! ${__git_tcsh_completion_script} #!bash # # This script is GENERATED and will be overwritten automatically. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/contrib/completion/git-prompt.sh new/git-2.4.6/contrib/completion/git-prompt.sh --- old/git-2.4.5/contrib/completion/git-prompt.sh 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/contrib/completion/git-prompt.sh 2015-07-15 22:29:34.000000000 +0200 @@ -66,6 +66,10 @@ # git always compare HEAD to @{upstream} # svn always compare HEAD to your SVN upstream # +# You can change the separator between the branch name and the above +# state symbols by setting GIT_PS1_STATESEPARATOR. The default separator +# is SP. +# # By default, __git_ps1 will compare HEAD to your SVN upstream if it can # find one, or @{upstream} otherwise. Once you have set # GIT_PS1_SHOWUPSTREAM, you can override it on a per-repository basis by diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/contrib/hooks/pre-auto-gc-battery new/git-2.4.6/contrib/hooks/pre-auto-gc-battery --- old/git-2.4.5/contrib/hooks/pre-auto-gc-battery 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/contrib/hooks/pre-auto-gc-battery 2015-07-15 22:29:34.000000000 +0200 @@ -33,7 +33,7 @@ then exit 0 elif test -x /usr/bin/pmset && /usr/bin/pmset -g batt | - grep -q "Currently drawing from 'AC Power'" + grep -q "drawing from 'AC Power'" then exit 0 fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/ewah/bitmap.c new/git-2.4.6/ewah/bitmap.c --- old/git-2.4.5/ewah/bitmap.c 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/ewah/bitmap.c 2015-07-15 22:29:34.000000000 +0200 @@ -20,8 +20,8 @@ #include "git-compat-util.h" #include "ewok.h" -#define MASK(x) ((eword_t)1 << (x % BITS_IN_WORD)) -#define BLOCK(x) (x / BITS_IN_WORD) +#define EWAH_MASK(x) ((eword_t)1 << (x % BITS_IN_EWORD)) +#define EWAH_BLOCK(x) (x / BITS_IN_EWORD) struct bitmap *bitmap_new(void) { @@ -33,7 +33,7 @@ void bitmap_set(struct bitmap *self, size_t pos) { - size_t block = BLOCK(pos); + size_t block = EWAH_BLOCK(pos); if (block >= self->word_alloc) { size_t old_size = self->word_alloc; @@ -45,22 +45,22 @@ (self->word_alloc - old_size) * sizeof(eword_t)); } - self->words[block] |= MASK(pos); + self->words[block] |= EWAH_MASK(pos); } void bitmap_clear(struct bitmap *self, size_t pos) { - size_t block = BLOCK(pos); + size_t block = EWAH_BLOCK(pos); if (block < self->word_alloc) - self->words[block] &= ~MASK(pos); + self->words[block] &= ~EWAH_MASK(pos); } int bitmap_get(struct bitmap *self, size_t pos) { - size_t block = BLOCK(pos); + size_t block = EWAH_BLOCK(pos); return block < self->word_alloc && - (self->words[block] & MASK(pos)) != 0; + (self->words[block] & EWAH_MASK(pos)) != 0; } struct ewah_bitmap *bitmap_to_ewah(struct bitmap *bitmap) @@ -127,7 +127,7 @@ void bitmap_or_ewah(struct bitmap *self, struct ewah_bitmap *other) { size_t original_size = self->word_alloc; - size_t other_final = (other->bit_size / BITS_IN_WORD) + 1; + size_t other_final = (other->bit_size / BITS_IN_EWORD) + 1; size_t i = 0; struct ewah_iterator it; eword_t word; @@ -155,17 +155,17 @@ uint32_t offset; if (word == (eword_t)~0) { - for (offset = 0; offset < BITS_IN_WORD; ++offset) + for (offset = 0; offset < BITS_IN_EWORD; ++offset) callback(pos++, data); } else { - for (offset = 0; offset < BITS_IN_WORD; ++offset) { + for (offset = 0; offset < BITS_IN_EWORD; ++offset) { if ((word >> offset) == 0) break; offset += ewah_bit_ctz64(word >> offset); callback(pos + offset, data); } - pos += BITS_IN_WORD; + pos += BITS_IN_EWORD; } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/ewah/ewah_bitmap.c new/git-2.4.6/ewah/ewah_bitmap.c --- old/git-2.4.5/ewah/ewah_bitmap.c 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/ewah/ewah_bitmap.c 2015-07-15 22:29:34.000000000 +0200 @@ -102,7 +102,7 @@ if (number == 0) return 0; - self->bit_size += number * BITS_IN_WORD; + self->bit_size += number * BITS_IN_EWORD; return add_empty_words(self, v, number); } @@ -152,7 +152,7 @@ self->buffer_size += can_add; } - self->bit_size += can_add * BITS_IN_WORD; + self->bit_size += can_add * BITS_IN_EWORD; if (number - can_add == 0) break; @@ -197,7 +197,7 @@ size_t ewah_add(struct ewah_bitmap *self, eword_t word) { - self->bit_size += BITS_IN_WORD; + self->bit_size += BITS_IN_EWORD; if (word == 0) return add_empty_word(self, 0); @@ -211,8 +211,8 @@ void ewah_set(struct ewah_bitmap *self, size_t i) { const size_t dist = - (i + BITS_IN_WORD) / BITS_IN_WORD - - (self->bit_size + BITS_IN_WORD - 1) / BITS_IN_WORD; + (i + BITS_IN_EWORD) / BITS_IN_EWORD - + (self->bit_size + BITS_IN_EWORD - 1) / BITS_IN_EWORD; assert(i >= self->bit_size); @@ -222,19 +222,19 @@ if (dist > 1) add_empty_words(self, 0, dist - 1); - add_literal(self, (eword_t)1 << (i % BITS_IN_WORD)); + add_literal(self, (eword_t)1 << (i % BITS_IN_EWORD)); return; } if (rlw_get_literal_words(self->rlw) == 0) { rlw_set_running_len(self->rlw, rlw_get_running_len(self->rlw) - 1); - add_literal(self, (eword_t)1 << (i % BITS_IN_WORD)); + add_literal(self, (eword_t)1 << (i % BITS_IN_EWORD)); return; } self->buffer[self->buffer_size - 1] |= - ((eword_t)1 << (i % BITS_IN_WORD)); + ((eword_t)1 << (i % BITS_IN_EWORD)); /* check if we just completed a stream of 1s */ if (self->buffer[self->buffer_size - 1] == (eword_t)(~0)) { @@ -255,11 +255,11 @@ eword_t *word = &self->buffer[pointer]; if (rlw_get_run_bit(word)) { - size_t len = rlw_get_running_len(word) * BITS_IN_WORD; + size_t len = rlw_get_running_len(word) * BITS_IN_EWORD; for (k = 0; k < len; ++k, ++pos) callback(pos, payload); } else { - pos += rlw_get_running_len(word) * BITS_IN_WORD; + pos += rlw_get_running_len(word) * BITS_IN_EWORD; } ++pointer; @@ -268,7 +268,7 @@ int c; /* todo: zero count optimization */ - for (c = 0; c < BITS_IN_WORD; ++c, ++pos) { + for (c = 0; c < BITS_IN_EWORD; ++c, ++pos) { if ((self->buffer[pointer] & ((eword_t)1 << c)) != 0) callback(pos, payload); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/ewah/ewok.h new/git-2.4.6/ewah/ewok.h --- old/git-2.4.5/ewah/ewok.h 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/ewah/ewok.h 2015-07-15 22:29:34.000000000 +0200 @@ -31,7 +31,7 @@ #endif typedef uint64_t eword_t; -#define BITS_IN_WORD (sizeof(eword_t) * 8) +#define BITS_IN_EWORD (sizeof(eword_t) * 8) /** * Do not use __builtin_popcountll. The GCC implementation diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/fetch-pack.c new/git-2.4.6/fetch-pack.c --- old/git-2.4.5/fetch-pack.c 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/fetch-pack.c 2015-07-15 22:29:34.000000000 +0200 @@ -790,7 +790,7 @@ sort_ref_list(&ref, ref_compare_name); qsort(sought, nr_sought, sizeof(*sought), cmp_ref_by_name); - if (is_repository_shallow() && !server_supports("shallow")) + if ((args->depth > 0 || is_repository_shallow()) && !server_supports("shallow")) die("Server does not support shallow clients"); if (server_supports("multi_ack_detailed")) { if (args->verbose) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/git-compat-util.h new/git-2.4.6/git-compat-util.h --- old/git-2.4.5/git-compat-util.h 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/git-compat-util.h 2015-07-15 22:29:34.000000000 +0200 @@ -58,15 +58,13 @@ #define BUILD_ASSERT_OR_ZERO(cond) \ (sizeof(char [1 - 2*!(cond)]) - 1) -#if defined(__GNUC__) && (__GNUC__ >= 3) -# if GIT_GNUC_PREREQ(3, 1) +#if GIT_GNUC_PREREQ(3, 1) /* &arr[0] degrades to a pointer: a different type from an array */ # define BARF_UNLESS_AN_ARRAY(arr) \ BUILD_ASSERT_OR_ZERO(!__builtin_types_compatible_p(__typeof__(arr), \ __typeof__(&(arr)[0]))) -# else -# define BARF_UNLESS_AN_ARRAY(arr) 0 -# endif +#else +# define BARF_UNLESS_AN_ARRAY(arr) 0 #endif /* * ARRAY_SIZE - get the number of elements in a visible array diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/git-stash.sh new/git-2.4.6/git-stash.sh --- old/git-2.4.5/git-stash.sh 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/git-stash.sh 2015-07-15 22:29:34.000000000 +0200 @@ -457,8 +457,6 @@ 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.5/git.spec new/git-2.4.6/git.spec --- old/git-2.4.5/git.spec 2015-06-25 21:15:46.000000000 +0200 +++ new/git-2.4.6/git.spec 2015-07-15 22:29:34.000000000 +0200 @@ -1,7 +1,7 @@ # Pass --without docs to rpmbuild if you don't want the documentation Name: git -Version: 2.4.5 +Version: 2.4.6 Release: 1%{?dist} Summary: Core git tools License: GPL diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/pack-bitmap.c new/git-2.4.6/pack-bitmap.c --- old/git-2.4.5/pack-bitmap.c 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/pack-bitmap.c 2015-07-15 22:29:34.000000000 +0200 @@ -622,7 +622,7 @@ while (i < objects->word_alloc && ewah_iterator_next(&filter, &it)) { eword_t word = objects->words[i] & filter; - for (offset = 0; offset < BITS_IN_WORD; ++offset) { + for (offset = 0; offset < BITS_IN_EWORD; ++offset) { const unsigned char *sha1; struct revindex_entry *entry; uint32_t hash = 0; @@ -644,7 +644,7 @@ show_reach(sha1, object_type, 0, hash, bitmap_git.pack, entry->offset); } - pos += BITS_IN_WORD; + pos += BITS_IN_EWORD; i++; } } @@ -776,7 +776,7 @@ break; } - reuse_objects += BITS_IN_WORD; + reuse_objects += BITS_IN_EWORD; } #ifdef GIT_BITMAP_DEBUG @@ -1001,7 +1001,7 @@ while (ewah_iterator_next(&word, &it)) { uint32_t offset, bit_pos; - for (offset = 0; offset < BITS_IN_WORD; ++offset) { + for (offset = 0; offset < BITS_IN_EWORD; ++offset) { if ((word >> offset) == 0) break; @@ -1014,7 +1014,7 @@ return -1; } - pos += BITS_IN_WORD; + pos += BITS_IN_EWORD; } return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/t/t0302-credential-store.sh new/git-2.4.6/t/t0302-credential-store.sh --- old/git-2.4.5/t/t0302-credential-store.sh 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/t/t0302-credential-store.sh 2015-07-15 22:29:34.000000000 +0200 @@ -75,7 +75,7 @@ EOF ' -test_expect_success POSIXPERM 'get: use xdg file if home file is unreadable' ' +test_expect_success POSIXPERM,SANITY 'get: use xdg file if home file is unreadable' ' echo "https://home-user:[email protected]" >"$HOME/.git-credentials" && chmod -r "$HOME/.git-credentials" && mkdir -p "$HOME/.config/git" && diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/t/t3903-stash.sh new/git-2.4.6/t/t3903-stash.sh --- old/git-2.4.5/t/t3903-stash.sh 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/t/t3903-stash.sh 2015-07-15 22:29:34.000000000 +0200 @@ -45,13 +45,6 @@ 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 stash apply && diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/t/t4014-format-patch.sh new/git-2.4.6/t/t4014-format-patch.sh --- old/git-2.4.5/t/t4014-format-patch.sh 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/t/t4014-format-patch.sh 2015-07-15 22:29:34.000000000 +0200 @@ -57,6 +57,14 @@ ' +test_expect_success "format-patch --ignore-if-in-upstream handles tags" ' + git tag -a v1 -m tag side && + git tag -a v2 -m tag master && + git format-patch --stdout --ignore-if-in-upstream v2..v1 >patch1 && + cnt=$(grep "^From " patch1 | wc -l) && + test $cnt = 2 +' + test_expect_success "format-patch doesn't consider merge commits" ' git checkout -b slave master && diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/utf8.h new/git-2.4.6/utf8.h --- old/git-2.4.5/utf8.h 2015-06-25 21:15:40.000000000 +0200 +++ new/git-2.4.6/utf8.h 2015-07-15 22:29:34.000000000 +0200 @@ -31,7 +31,9 @@ const char *in_encoding, int *outsz); #else -#define reencode_string_len(a,b,c,d,e) NULL +static inline char *reencode_string_len(const char *a, int b, + const char *c, const char *d, int *e) +{ if (e) *e = 0; return NULL; } #endif static inline char *reencode_string(const char *in, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-2.4.5/version new/git-2.4.6/version --- old/git-2.4.5/version 2015-06-25 21:15:46.000000000 +0200 +++ new/git-2.4.6/version 2015-07-15 22:29:34.000000000 +0200 @@ -1 +1 @@ -2.4.5 +2.4.6 ++++++ git-tcsh-completion-fixes.diff ++++++ --- /var/tmp/diff_new_pack.Md0icg/_old 2015-07-21 13:25:34.000000000 +0200 +++ /var/tmp/diff_new_pack.Md0icg/_new 2015-07-21 13:25:34.000000000 +0200 @@ -4,8 +4,10 @@ contrib/completion/git.tcsh | 4 ++++ 3 files changed, 15 insertions(+), 10 deletions(-) ---- a/contrib/completion/git-completion.tcsh -+++ b/contrib/completion/git-completion.tcsh +Index: git-2.4.6/contrib/completion/git-completion.tcsh +=================================================================== +--- git-2.4.6.orig/contrib/completion/git-completion.tcsh ++++ git-2.4.6/contrib/completion/git-completion.tcsh @@ -32,14 +32,14 @@ if ( ${__git_tcsh_completion_version[1]} endif unset __git_tcsh_completion_version @@ -26,7 +28,7 @@ +# exit +# endif - cat << EOF > ${__git_tcsh_completion_script} + cat << EOF >! ${__git_tcsh_completion_script} #!bash @@ -121,6 +121,3 @@ EOF @@ -35,15 +37,19 @@ - -complete git 'p,*,`bash ${__git_tcsh_completion_script} git "${COMMAND_LINE}"`,' -complete gitk 'p,*,`bash ${__git_tcsh_completion_script} gitk "${COMMAND_LINE}"`,' +Index: git-2.4.6/contrib/completion/git.csh +=================================================================== --- /dev/null -+++ b/contrib/completion/git.csh ++++ git-2.4.6/contrib/completion/git.csh @@ -0,0 +1,4 @@ +if (${?prompt}) then +complete git 'p,*,`bash /usr/share/tcsh/git.complete git "${COMMAND_LINE}"`,' +complete gitk 'p,*,`bash /usr/share/tcsh/git.complete gitk "${COMMAND_LINE}"`,' +endif +Index: git-2.4.6/contrib/completion/git.tcsh +=================================================================== --- /dev/null -+++ b/contrib/completion/git.tcsh ++++ git-2.4.6/contrib/completion/git.tcsh @@ -0,0 +1,4 @@ +if (${?prompt}) then +complete git 'p,*,`bash /usr/share/tcsh/git.complete git "${COMMAND_LINE}"`,'
