mirror of
https://github.com/git/git.git
synced 2026-03-18 04:30:09 +01:00
archive: add --add-file
Allow users to append non-tracked files. This simplifies the generation of source packages with a few extra files, e.g. containing version information. They get the same access times and user information as tracked files. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
200589abcb
commit
2947a7930d
@@ -94,6 +94,16 @@ check_tar() {
|
||||
'
|
||||
}
|
||||
|
||||
check_added() {
|
||||
dir=$1
|
||||
path_in_fs=$2
|
||||
path_in_archive=$3
|
||||
|
||||
test_expect_success " validate extra file $path_in_archive" '
|
||||
diff -r $path_in_fs $dir/$path_in_archive
|
||||
'
|
||||
}
|
||||
|
||||
test_expect_success 'setup' '
|
||||
test_oid_cache <<-EOF
|
||||
obj sha1:19f9c8273ec45a8938e6999cb59b3ff66739902a
|
||||
@@ -164,6 +174,25 @@ test_expect_success 'git-archive --prefix=olde-' '
|
||||
|
||||
check_tar with_olde-prefix olde-
|
||||
|
||||
test_expect_success 'git archive --add-file' '
|
||||
echo untracked >untracked &&
|
||||
git archive --add-file=untracked HEAD >with_untracked.tar
|
||||
'
|
||||
|
||||
check_tar with_untracked
|
||||
check_added with_untracked untracked untracked
|
||||
|
||||
test_expect_success 'git archive --add-file twice' '
|
||||
echo untracked >untracked &&
|
||||
git archive --prefix=one/ --add-file=untracked \
|
||||
--prefix=two/ --add-file=untracked \
|
||||
--prefix= HEAD >with_untracked2.tar
|
||||
'
|
||||
|
||||
check_tar with_untracked2
|
||||
check_added with_untracked2 untracked one/untracked
|
||||
check_added with_untracked2 untracked two/untracked
|
||||
|
||||
test_expect_success 'git archive on large files' '
|
||||
test_config core.bigfilethreshold 1 &&
|
||||
git archive HEAD >b3.tar &&
|
||||
|
||||
@@ -72,6 +72,16 @@ check_zip() {
|
||||
"
|
||||
}
|
||||
|
||||
check_added() {
|
||||
dir=$1
|
||||
path_in_fs=$2
|
||||
path_in_archive=$3
|
||||
|
||||
test_expect_success UNZIP " validate extra file $path_in_archive" '
|
||||
diff -r $path_in_fs $dir/$path_in_archive
|
||||
'
|
||||
}
|
||||
|
||||
test_expect_success \
|
||||
'populate workdir' \
|
||||
'mkdir a &&
|
||||
@@ -188,4 +198,22 @@ test_expect_success 'git archive --format=zip on large files' '
|
||||
|
||||
check_zip large-compressed
|
||||
|
||||
test_expect_success 'git archive --format=zip --add-file' '
|
||||
echo untracked >untracked &&
|
||||
git archive --format=zip --add-file=untracked HEAD >with_untracked.zip
|
||||
'
|
||||
|
||||
check_zip with_untracked
|
||||
check_added with_untracked untracked untracked
|
||||
|
||||
test_expect_success 'git archive --format=zip --add-file twice' '
|
||||
echo untracked >untracked &&
|
||||
git archive --format=zip --prefix=one/ --add-file=untracked \
|
||||
--prefix=two/ --add-file=untracked \
|
||||
--prefix= HEAD >with_untracked2.zip
|
||||
'
|
||||
check_zip with_untracked2
|
||||
check_added with_untracked2 untracked one/untracked
|
||||
check_added with_untracked2 untracked two/untracked
|
||||
|
||||
test_done
|
||||
|
||||
Reference in New Issue
Block a user