diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-07-20 17:16:29 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-07-20 17:16:29 -0700 |
commit | fa4946b5532ff911565c882892a715616c22cdec (patch) | |
tree | d6c503fcee7de1794ae552760ad313501714dad1 | |
parent | git-svn: fix git svn info to work without arguments (diff) | |
parent | fix usage string for git grep (diff) | |
download | tgif-fa4946b5532ff911565c882892a715616c22cdec.tar.xz |
Merge branch 'maint'
* maint:
fix usage string for git grep
refresh-index: fix bitmask assignment
Conflicts:
builtin-grep.c
-rw-r--r-- | builtin-grep.c | 2 | ||||
-rw-r--r-- | cache.h | 2 | ||||
-rwxr-xr-x | t/t2103-update-index-ignore-missing.sh | 89 |
3 files changed, 91 insertions, 2 deletions
diff --git a/builtin-grep.c b/builtin-grep.c index 7bf6a7156c..631129ddfd 100644 --- a/builtin-grep.c +++ b/builtin-grep.c @@ -498,7 +498,7 @@ static int grep_object(struct grep_opt *opt, const char **paths, } static const char builtin_grep_usage[] = -"git grep <option>* <rev>* [-e] <pattern> [<path>...]"; +"git grep <option>* [-e] <pattern> <rev>* [[--] <path>...]"; static const char emsg_invalid_context_len[] = "%s: invalid context length argument"; @@ -397,7 +397,7 @@ extern void fill_stat_cache_info(struct cache_entry *ce, struct stat *st); #define REFRESH_UNMERGED 0x0002 /* allow unmerged */ #define REFRESH_QUIET 0x0004 /* be quiet about it */ #define REFRESH_IGNORE_MISSING 0x0008 /* ignore non-existent */ -#define REFRESH_IGNORE_SUBMODULES 0x0008 /* ignore submodules */ +#define REFRESH_IGNORE_SUBMODULES 0x0010 /* ignore submodules */ extern int refresh_index(struct index_state *, unsigned int flags, const char **pathspec, char *seen); struct lock_file { diff --git a/t/t2103-update-index-ignore-missing.sh b/t/t2103-update-index-ignore-missing.sh new file mode 100755 index 0000000000..332694e7d3 --- /dev/null +++ b/t/t2103-update-index-ignore-missing.sh @@ -0,0 +1,89 @@ +#!/bin/sh + +test_description='update-index with options' + +. ./test-lib.sh + +test_expect_success basics ' + >one && + >two && + >three && + + # need --add when adding + test_must_fail git update-index one && + test -z "$(git ls-files)" && + git update-index --add one && + test zone = "z$(git ls-files)" && + + # update-index is atomic + echo 1 >one && + test_must_fail git update-index one two && + echo "M one" >expect && + git diff-files --name-status >actual && + test_cmp expect actual && + + git update-index --add one two three && + for i in one three two; do echo $i; done >expect && + git ls-files >actual && + test_cmp expect actual && + + test_tick && + ( + test_create_repo xyzzy && + cd xyzzy && + >file && + git add file + git commit -m "sub initial" + ) && + git add xyzzy && + + test_tick && + git commit -m initial && + git tag initial +' + +test_expect_success '--ignore-missing --refresh' ' + git reset --hard initial && + echo 2 >one && + test_must_fail git update-index --refresh && + echo 1 >one && + git update-index --refresh && + rm -f two && + test_must_fail git update-index --refresh && + git update-index --ignore-missing --refresh + +' + +test_expect_success '--unmerged --refresh' ' + git reset --hard initial && + info=$(git ls-files -s one | sed -e "s/ 0 / 1 /") && + git rm --cached one && + echo "$info" | git update-index --index-info && + test_must_fail git update-index --refresh && + git update-index --unmerged --refresh && + echo 2 >two && + test_must_fail git update-index --unmerged --refresh >actual && + grep two actual && + ! grep one actual && + ! grep three actual +' + +test_expect_success '--ignore-submodules --refresh (1)' ' + git reset --hard initial && + rm -f two && + test_must_fail git update-index --ignore-submodules --refresh +' + +test_expect_success '--ignore-submodules --refresh (2)' ' + git reset --hard initial && + test_tick && + ( + cd xyzzy && + git commit -m "sub second" --allow-empty + ) && + test_must_fail git update-index --refresh && + test_must_fail git update-index --ignore-missing --refresh && + git update-index --ignore-submodules --refresh +' + +test_done |