t9300: test filedelete command
Add new fast-import test series for filedelete command. Signed-off-by: Maxim Bublis <satori@yandex-team.ru> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
		
				
					committed by
					
						
						Junio C Hamano
					
				
			
			
				
	
			
			
			
						parent
						
							4109c28e05
						
					
				
				
					commit
					8d30d8a89a
				
			@ -3017,4 +3017,108 @@ test_expect_success 'T: empty reset doesnt delete branch' '
 | 
			
		||||
	git rev-parse --verify refs/heads/not-to-delete
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
###
 | 
			
		||||
### series U (filedelete)
 | 
			
		||||
###
 | 
			
		||||
 | 
			
		||||
cat >input <<INPUT_END
 | 
			
		||||
commit refs/heads/U
 | 
			
		||||
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
 | 
			
		||||
data <<COMMIT
 | 
			
		||||
test setup
 | 
			
		||||
COMMIT
 | 
			
		||||
M 100644 inline hello.c
 | 
			
		||||
data <<BLOB
 | 
			
		||||
blob 1
 | 
			
		||||
BLOB
 | 
			
		||||
M 100644 inline good/night.txt
 | 
			
		||||
data <<BLOB
 | 
			
		||||
sleep well
 | 
			
		||||
BLOB
 | 
			
		||||
M 100644 inline good/bye.txt
 | 
			
		||||
data <<BLOB
 | 
			
		||||
au revoir
 | 
			
		||||
BLOB
 | 
			
		||||
 | 
			
		||||
INPUT_END
 | 
			
		||||
 | 
			
		||||
test_expect_success 'U: initialize for U tests' '
 | 
			
		||||
	git fast-import <input
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
cat >input <<INPUT_END
 | 
			
		||||
commit refs/heads/U
 | 
			
		||||
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
 | 
			
		||||
data <<COMMIT
 | 
			
		||||
delete good/night.txt
 | 
			
		||||
COMMIT
 | 
			
		||||
from refs/heads/U^0
 | 
			
		||||
D good/night.txt
 | 
			
		||||
 | 
			
		||||
INPUT_END
 | 
			
		||||
 | 
			
		||||
test_expect_success 'U: filedelete file succeeds' '
 | 
			
		||||
	git fast-import <input
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
cat >expect <<EOF
 | 
			
		||||
:100644 000000 2907ebb4bf85d91bf0716bb3bd8a68ef48d6da76 0000000000000000000000000000000000000000 D	good/night.txt
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
git diff-tree -M -r U^1 U >actual
 | 
			
		||||
 | 
			
		||||
test_expect_success 'U: validate file delete result' '
 | 
			
		||||
	compare_diff_raw expect actual
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
cat >input <<INPUT_END
 | 
			
		||||
commit refs/heads/U
 | 
			
		||||
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
 | 
			
		||||
data <<COMMIT
 | 
			
		||||
delete good dir
 | 
			
		||||
COMMIT
 | 
			
		||||
from refs/heads/U^0
 | 
			
		||||
D good
 | 
			
		||||
 | 
			
		||||
INPUT_END
 | 
			
		||||
 | 
			
		||||
test_expect_success 'U: filedelete directory succeeds' '
 | 
			
		||||
	git fast-import <input
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
cat >expect <<EOF
 | 
			
		||||
:100644 000000 69cb75792f55123d8389c156b0b41c2ff00ed507 0000000000000000000000000000000000000000 D	good/bye.txt
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
git diff-tree -M -r U^1 U >actual
 | 
			
		||||
 | 
			
		||||
test_expect_success 'U: validate directory delete result' '
 | 
			
		||||
	compare_diff_raw expect actual
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
cat >input <<INPUT_END
 | 
			
		||||
commit refs/heads/U
 | 
			
		||||
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
 | 
			
		||||
data <<COMMIT
 | 
			
		||||
must succeed
 | 
			
		||||
COMMIT
 | 
			
		||||
from refs/heads/U^0
 | 
			
		||||
D ""
 | 
			
		||||
 | 
			
		||||
INPUT_END
 | 
			
		||||
 | 
			
		||||
test_expect_failure 'U: filedelete root succeeds' '
 | 
			
		||||
    git fast-import <input
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
cat >expect <<EOF
 | 
			
		||||
:100644 000000 c18147dc648481eeb65dc5e66628429a64843327 0000000000000000000000000000000000000000 D	hello.c
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
git diff-tree -M -r U^1 U >actual
 | 
			
		||||
 | 
			
		||||
test_expect_failure 'U: validate root delete result' '
 | 
			
		||||
	compare_diff_raw expect actual
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
test_done
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user