diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-02-27 11:55:22 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-02-27 11:55:22 -0800 |
commit | b82b096b8c3a29ad5115483cc8e8a433e26703ee (patch) | |
tree | 84555fe128aa58c7d97373a1a3f395d808a3730c /t | |
parent | 2f8e2e3eeffd427a82467556941c31dc246a69c5 (diff) | |
parent | 8a2f5e5b032ca73e19ad1425b75c63234eb166fa (diff) | |
download | git-b82b096b8c3a29ad5115483cc8e8a433e26703ee.tar.gz |
Merge branch 'gp/hash-stdin'
* gp/hash-stdin:
hash-object: cleanup handling of command line options
Diffstat (limited to 't')
-rwxr-xr-x | t/t5303-hash-object.sh | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/t/t5303-hash-object.sh b/t/t5303-hash-object.sh new file mode 100755 index 0000000000..543c0784bd --- /dev/null +++ b/t/t5303-hash-object.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +test_description=git-hash-object + +. ./test-lib.sh + +test_expect_success \ + 'git hash-object -w --stdin saves the object' \ + 'obname=$(echo foo | git hash-object -w --stdin) && + obpath=$(echo $obname | sed -e "s/\(..\)/\1\//") && + test -r .git/objects/"$obpath" && + rm -f .git/objects/"$obpath"' + +test_expect_success \ + 'git hash-object --stdin -w saves the object' \ + 'obname=$(echo foo | git hash-object --stdin -w) && + obpath=$(echo $obname | sed -e "s/\(..\)/\1\//") && + test -r .git/objects/"$obpath" && + rm -f .git/objects/"$obpath"' + +test_expect_success \ + 'git hash-object --stdin file1 <file0 first operates on file0, then file1' \ + 'echo foo > file1 && + obname0=$(echo bar | git hash-object --stdin) && + obname1=$(git hash-object file1) && + obname0new=$(echo bar | git hash-object --stdin file1 | sed -n -e 1p) && + obname1new=$(echo bar | git hash-object --stdin file1 | sed -n -e 2p) && + test "$obname0" = "$obname0new" && + test "$obname1" = "$obname1new"' + +test_expect_success \ + 'git hash-object refuses multiple --stdin arguments' \ + '! git hash-object --stdin --stdin < file1' + +test_done |