mirror of
https://github.com/git/git.git
synced 2026-03-15 03:00:07 +01:00
Merge branch 'master' into next
* master: git-grep: Fix problems with recently added tests git-submodule.sh: separate parens by a space to avoid confusing some shells Documentation/technical/api-diff.txt: correct name of diff_unmerge() read_gitfile_gently: use ssize_t to hold read result remove tests of always-false condition rerere.c: diagnose a corrupt MERGE_RR when hitting EOF between TAB and '\0'
This commit is contained in:
@@ -32,7 +32,7 @@ Calling sequence
|
||||
|
||||
* As you find different pairs of files, call `diff_change()` to feed
|
||||
modified files, `diff_addremove()` to feed created or deleted files,
|
||||
or `diff_unmerged()` to feed a file whose state is 'unmerged' to the
|
||||
or `diff_unmerge()` to feed a file whose state is 'unmerged' to the
|
||||
API. These are thin wrappers to a lower-level `diff_queue()` function
|
||||
that is flexible enough to record any of these kinds of changes.
|
||||
|
||||
@@ -50,7 +50,7 @@ Data structures
|
||||
This is the internal representation for a single file (blob). It
|
||||
records the blob object name (if known -- for a work tree file it
|
||||
typically is a NUL SHA-1), filemode and pathname. This is what the
|
||||
`diff_addremove()`, `diff_change()` and `diff_unmerged()` synthesize and
|
||||
`diff_addremove()`, `diff_change()` and `diff_unmerge()` synthesize and
|
||||
feed `diff_queue()` function with.
|
||||
|
||||
* `struct diff_filepair`
|
||||
|
||||
2
fsck.c
2
fsck.c
@@ -349,7 +349,7 @@ int fsck_error_function(struct object *obj, int type, const char *fmt, ...)
|
||||
va_list ap;
|
||||
struct strbuf sb = STRBUF_INIT;
|
||||
|
||||
strbuf_addf(&sb, "object %s:", obj->sha1?sha1_to_hex(obj->sha1):"(null)");
|
||||
strbuf_addf(&sb, "object %s:", sha1_to_hex(obj->sha1));
|
||||
|
||||
va_start(ap, fmt);
|
||||
strbuf_vaddf(&sb, fmt, ap);
|
||||
|
||||
@@ -499,7 +499,7 @@ Maybe you want to use 'update --init'?")"
|
||||
# Run fetch only if $sha1 isn't present or it
|
||||
# is not reachable from a ref.
|
||||
(clear_local_git_env; cd "$path" &&
|
||||
((rev=$(git rev-list -n 1 $sha1 --not --all 2>/dev/null) &&
|
||||
( (rev=$(git rev-list -n 1 $sha1 --not --all 2>/dev/null) &&
|
||||
test -z "$rev") || git-fetch)) ||
|
||||
die "$(eval_gettext "Unable to fetch in submodule path '\$path'")"
|
||||
fi
|
||||
|
||||
10
rerere.c
10
rerere.c
@@ -47,8 +47,14 @@ static void read_rr(struct string_list *rr)
|
||||
name = xstrdup(buf);
|
||||
if (fgetc(in) != '\t')
|
||||
die("corrupt MERGE_RR");
|
||||
for (i = 0; i < sizeof(buf) && (buf[i] = fgetc(in)); i++)
|
||||
; /* do nothing */
|
||||
for (i = 0; i < sizeof(buf); i++) {
|
||||
int c = fgetc(in);
|
||||
if (c < 0)
|
||||
die("corrupt MERGE_RR");
|
||||
buf[i] = c;
|
||||
if (c == 0)
|
||||
break;
|
||||
}
|
||||
if (i == sizeof(buf))
|
||||
die("filename too long");
|
||||
string_list_insert(rr, buf)->util = name;
|
||||
|
||||
2
setup.c
2
setup.c
@@ -382,7 +382,7 @@ const char *read_gitfile_gently(const char *path)
|
||||
const char *slash;
|
||||
struct stat st;
|
||||
int fd;
|
||||
size_t len;
|
||||
ssize_t len;
|
||||
|
||||
if (stat(path, &st))
|
||||
return NULL;
|
||||
|
||||
@@ -33,9 +33,9 @@ test_expect_success setup '
|
||||
echo HeLLo_world
|
||||
} >hello_world &&
|
||||
{
|
||||
echo aab
|
||||
echo a+b
|
||||
echo a\\+b
|
||||
echo "a+b*c"
|
||||
echo "a+bc"
|
||||
echo "abc"
|
||||
} >ab &&
|
||||
echo vvv >v &&
|
||||
echo ww w >w &&
|
||||
@@ -233,14 +233,14 @@ do
|
||||
test_cmp expected actual
|
||||
'
|
||||
test_expect_success "grep $L with grep.extendedRegexp=false" '
|
||||
echo "ab:a+b" >expected &&
|
||||
git -c grep.extendedRegexp=false grep "a+b" >actual &&
|
||||
echo "ab:a+bc" >expected &&
|
||||
git -c grep.extendedRegexp=false grep "a+b*c" ab >actual &&
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success "grep $L with grep.extendedRegexp=true" '
|
||||
echo "ab:aab" >expected &&
|
||||
git -c grep.extendedRegexp=true grep "a+b" >actual &&
|
||||
echo "ab:abc" >expected &&
|
||||
git -c grep.extendedRegexp=true grep "a+b*c" ab >actual &&
|
||||
test_cmp expected actual
|
||||
'
|
||||
done
|
||||
@@ -636,7 +636,7 @@ test_expect_success LIBPCRE 'grep -P pattern' '
|
||||
'
|
||||
|
||||
test_expect_success 'grep pattern with grep.extendedRegexp=true' '
|
||||
:>empty &&
|
||||
>empty &&
|
||||
test_must_fail git -c grep.extendedregexp=true \
|
||||
grep "\p{Ps}.*?\p{Pe}" hello.c >actual &&
|
||||
test_cmp empty actual
|
||||
@@ -650,10 +650,10 @@ test_expect_success LIBPCRE 'grep -P pattern with grep.extendedRegexp=true' '
|
||||
|
||||
test_expect_success LIBPCRE 'grep -P -v pattern' '
|
||||
{
|
||||
echo ab:a+b
|
||||
echo ab:a\\+b
|
||||
echo "ab:a+b*c"
|
||||
echo "ab:a+bc"
|
||||
} >expected &&
|
||||
git grep -P -v "aab" ab >actual &&
|
||||
git grep -P -v "abc" ab >actual &&
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
@@ -686,39 +686,33 @@ test_expect_success LIBPCRE 'grep -P invalidpattern properly dies ' '
|
||||
test_must_fail git grep -P "a["
|
||||
'
|
||||
|
||||
test_expect_success 'grep -F -E -G pattern' '
|
||||
echo ab:a+b >expected &&
|
||||
git grep -F -E -G a+b >actual &&
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'grep -F -G -E pattern' '
|
||||
echo ab:aab >expected &&
|
||||
git grep -F -G -E a+b >actual &&
|
||||
test_expect_success 'grep -G -E -F pattern' '
|
||||
echo "ab:a+b*c" >expected &&
|
||||
git grep -G -E -F "a+b*c" ab >actual &&
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'grep -E -F -G pattern' '
|
||||
echo ab:aab >expected &&
|
||||
git grep -E -F -G a\\+b >actual &&
|
||||
echo "ab:a+bc" >expected &&
|
||||
git grep -E -F -G "a+b*c" ab >actual &&
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'grep -E -G -F pattern' '
|
||||
echo ab:a\\+b >expected &&
|
||||
git grep -E -G -F a\\+b >actual &&
|
||||
test_expect_success 'grep -F -G -E pattern' '
|
||||
echo "ab:abc" >expected &&
|
||||
git grep -F -G -E "a+b*c" ab >actual &&
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'grep -G -F -E pattern' '
|
||||
echo ab:a+b >expected &&
|
||||
git grep -G -F -E a\\+b >actual &&
|
||||
test_cmp expected actual
|
||||
test_expect_success 'grep -G -F -P -E pattern' '
|
||||
>empty &&
|
||||
test_must_fail git grep -G -F -P -E "a\x{2b}b\x{2a}c" ab >actual &&
|
||||
test_cmp empty actual
|
||||
'
|
||||
|
||||
test_expect_success LIBPCRE 'grep -E -G -F -P pattern' '
|
||||
echo ab:a+b >expected &&
|
||||
git grep -E -G -F -P a\\+b >actual &&
|
||||
test_expect_success LIBPCRE 'grep -G -F -E -P pattern' '
|
||||
echo "ab:a+b*c" >expected &&
|
||||
git grep -G -F -E -P "a\x{2b}b\x{2a}c" ab >actual &&
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
|
||||
@@ -156,7 +156,7 @@ static void set_upstreams(struct transport *transport, struct ref *refs,
|
||||
continue;
|
||||
if (!ref->peer_ref)
|
||||
continue;
|
||||
if (!ref->new_sha1 || is_null_sha1(ref->new_sha1))
|
||||
if (is_null_sha1(ref->new_sha1))
|
||||
continue;
|
||||
|
||||
/* Follow symbolic refs (mainly for HEAD). */
|
||||
|
||||
Reference in New Issue
Block a user