mirror of
https://github.com/git/git.git
synced 2026-03-18 20:50:07 +01:00
Merge branch 'master' into next
* master: t/t4018: test whether the word_regex patterns compile xdiff-interface.c: always trim trailing space from xfuncname matches diff.c: call regfree to free memory allocated by regcomp when necessary t/t5510-fetch.sh: improve testing with explicit URL and merge spec builtin/fetch.c: comment that branch->remote_name is usable when has_merge Makefile: use compat regex on IRIX 6.5 t/t7008: workaround broken handling of \000 by printf on IRIX
This commit is contained in:
2
Makefile
2
Makefile
@@ -984,6 +984,7 @@ ifeq ($(uname_S),IRIX)
|
||||
# NO_MMAP. If you suspect that your compiler is not affected by this
|
||||
# issue, comment out the NO_MMAP statement.
|
||||
NO_MMAP = YesPlease
|
||||
NO_REGEX = YesPlease
|
||||
SNPRINTF_RETURNS_BOGUS = YesPlease
|
||||
SHELL_PATH = /usr/gnu/bin/bash
|
||||
NEEDS_LIBGEN = YesPlease
|
||||
@@ -1002,6 +1003,7 @@ ifeq ($(uname_S),IRIX64)
|
||||
# NO_MMAP. If you suspect that your compiler is not affected by this
|
||||
# issue, comment out the NO_MMAP statement.
|
||||
NO_MMAP = YesPlease
|
||||
NO_REGEX = YesPlease
|
||||
SNPRINTF_RETURNS_BOGUS = YesPlease
|
||||
SHELL_PATH=/usr/gnu/bin/bash
|
||||
NEEDS_LIBGEN = YesPlease
|
||||
|
||||
@@ -148,6 +148,7 @@ static struct ref *get_ref_map(struct transport *transport,
|
||||
int has_merge = branch_has_merge_config(branch);
|
||||
if (remote &&
|
||||
(remote->fetch_refspec_nr ||
|
||||
/* Note: has_merge implies non-NULL branch->remote_name */
|
||||
(has_merge && !strcmp(branch->remote_name, remote->name)))) {
|
||||
for (i = 0; i < remote->fetch_refspec_nr; i++) {
|
||||
get_fetch_map(remote_refs, &remote->fetch[i], &tail, 0);
|
||||
@@ -162,6 +163,8 @@ static struct ref *get_ref_map(struct transport *transport,
|
||||
* if the remote we're fetching from is the same
|
||||
* as given in branch.<name>.remote, we add the
|
||||
* ref given in branch.<name>.merge, too.
|
||||
*
|
||||
* Note: has_merge implies non-NULL branch->remote_name
|
||||
*/
|
||||
if (has_merge &&
|
||||
!strcmp(branch->remote_name, remote->name))
|
||||
|
||||
5
diff.c
5
diff.c
@@ -919,7 +919,10 @@ static void free_diff_words_data(struct emit_callback *ecbdata)
|
||||
free (ecbdata->diff_words->minus.orig);
|
||||
free (ecbdata->diff_words->plus.text.ptr);
|
||||
free (ecbdata->diff_words->plus.orig);
|
||||
free(ecbdata->diff_words->word_regex);
|
||||
if (ecbdata->diff_words->word_regex) {
|
||||
regfree(ecbdata->diff_words->word_regex);
|
||||
free(ecbdata->diff_words->word_regex);
|
||||
}
|
||||
free(ecbdata->diff_words);
|
||||
ecbdata->diff_words = NULL;
|
||||
}
|
||||
|
||||
@@ -40,6 +40,11 @@ do
|
||||
! ( git diff --no-index Beer.java Beer-correct.java 2>&1 |
|
||||
grep "fatal" > /dev/null )
|
||||
'
|
||||
test_expect_success "builtin $p wordRegex pattern compiles" '
|
||||
! ( git diff --no-index --word-diff \
|
||||
Beer.java Beer-correct.java 2>&1 |
|
||||
grep "fatal" > /dev/null )
|
||||
'
|
||||
done
|
||||
|
||||
test_expect_success 'default behaviour' '
|
||||
|
||||
@@ -240,10 +240,36 @@ test_expect_success 'fetch with a non-applying branch.<name>.merge' '
|
||||
git fetch blub
|
||||
'
|
||||
|
||||
test_expect_success 'fetch from GIT URL with a non-applying branch.<name>.merge' '
|
||||
# URL supplied to fetch does not match the url of the configured branch's remote
|
||||
test_expect_success 'fetch from GIT URL with a non-applying branch.<name>.merge [1]' '
|
||||
one_head=$(cd one && git rev-parse HEAD) &&
|
||||
this_head=$(git rev-parse HEAD) &&
|
||||
git update-ref -d FETCH_HEAD &&
|
||||
git fetch one &&
|
||||
git rev-parse --verify FETCH_HEAD
|
||||
test $one_head = "$(git rev-parse --verify FETCH_HEAD)" &&
|
||||
test $this_head = "$(git rev-parse --verify HEAD)"
|
||||
'
|
||||
|
||||
# URL supplied to fetch matches the url of the configured branch's remote and
|
||||
# the merge spec matches the branch the remote HEAD points to
|
||||
test_expect_success 'fetch from GIT URL with a non-applying branch.<name>.merge [2]' '
|
||||
one_ref=$(cd one && git symbolic-ref HEAD) &&
|
||||
git config branch.master.remote blub &&
|
||||
git config branch.master.merge "$one_ref" &&
|
||||
git update-ref -d FETCH_HEAD &&
|
||||
git fetch one &&
|
||||
test $one_head = "$(git rev-parse --verify FETCH_HEAD)" &&
|
||||
test $this_head = "$(git rev-parse --verify HEAD)"
|
||||
'
|
||||
|
||||
# URL supplied to fetch matches the url of the configured branch's remote, but
|
||||
# the merge spec does not match the branch the remote HEAD points to
|
||||
test_expect_success 'fetch from GIT URL with a non-applying branch.<name>.merge [3]' '
|
||||
git config branch.master.merge "${one_ref}_not" &&
|
||||
git update-ref -d FETCH_HEAD &&
|
||||
git fetch one &&
|
||||
test $one_head = "$(git rev-parse --verify FETCH_HEAD)" &&
|
||||
test $this_head = "$(git rev-parse --verify HEAD)"
|
||||
'
|
||||
|
||||
# the strange name is: a\!'b
|
||||
|
||||
@@ -5,7 +5,7 @@ test_description='git grep in binary files'
|
||||
. ./test-lib.sh
|
||||
|
||||
test_expect_success 'setup' "
|
||||
printf 'binary\000file\n' >a &&
|
||||
echo 'binaryQfile' | q_to_nul >a &&
|
||||
git add a &&
|
||||
git commit -m.
|
||||
"
|
||||
@@ -70,32 +70,32 @@ test_expect_failure 'git grep .fi a' '
|
||||
'
|
||||
|
||||
test_expect_success 'git grep -F y<NUL>f a' "
|
||||
printf 'y\000f' >f &&
|
||||
printf 'yQf' | q_to_nul >f &&
|
||||
git grep -f f -F a
|
||||
"
|
||||
|
||||
test_expect_success 'git grep -F y<NUL>x a' "
|
||||
printf 'y\000x' >f &&
|
||||
printf 'yQx' | q_to_nul >f &&
|
||||
test_must_fail git grep -f f -F a
|
||||
"
|
||||
|
||||
test_expect_success 'git grep -Fi Y<NUL>f a' "
|
||||
printf 'Y\000f' >f &&
|
||||
printf 'YQf' | q_to_nul >f &&
|
||||
git grep -f f -Fi a
|
||||
"
|
||||
|
||||
test_expect_failure 'git grep -Fi Y<NUL>x a' "
|
||||
printf 'Y\000x' >f &&
|
||||
printf 'YQx' | q_to_nul >f &&
|
||||
test_must_fail git grep -f f -Fi a
|
||||
"
|
||||
|
||||
test_expect_success 'git grep y<NUL>f a' "
|
||||
printf 'y\000f' >f &&
|
||||
printf 'yQf' | q_to_nul >f &&
|
||||
git grep -f f a
|
||||
"
|
||||
|
||||
test_expect_failure 'git grep y<NUL>x a' "
|
||||
printf 'y\000x' >f &&
|
||||
printf 'yQx' | q_to_nul >f &&
|
||||
test_must_fail git grep -f f a
|
||||
"
|
||||
|
||||
|
||||
@@ -286,9 +286,8 @@ static long ff_regexp(const char *line, long len,
|
||||
result = pmatch[i].rm_eo - pmatch[i].rm_so;
|
||||
if (result > buffer_size)
|
||||
result = buffer_size;
|
||||
else
|
||||
while (result > 0 && (isspace(line[result - 1])))
|
||||
result--;
|
||||
while (result > 0 && (isspace(line[result - 1])))
|
||||
result--;
|
||||
memcpy(buffer, line, result);
|
||||
fail:
|
||||
free(line_buffer);
|
||||
|
||||
Reference in New Issue
Block a user