mirror of
https://github.com/mnauw/git-remote-hg.git
synced 2026-03-24 10:30:03 +01:00
test: dd file operation tests
Inspired by gitifyhg. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
This commit is contained in:
76
test/main.t
76
test/main.t
@@ -53,6 +53,17 @@ check_bookmark () {
|
||||
fi
|
||||
}
|
||||
|
||||
check_files () {
|
||||
git --git-dir=$1/.git ls-files > actual &&
|
||||
if test $# -gt 1
|
||||
then
|
||||
printf "%s\n" "$2" > expected
|
||||
else
|
||||
> expected
|
||||
fi &&
|
||||
test_cmp expected actual
|
||||
}
|
||||
|
||||
check_push () {
|
||||
expected_ret=$1 ret=0 ref_ret=0
|
||||
|
||||
@@ -948,4 +959,69 @@ test_expect_success 'push tag different branch' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'cloning a removed file works' '
|
||||
test_when_finished "rm -rf hgrepo gitrepo" &&
|
||||
|
||||
(
|
||||
hg init hgrepo &&
|
||||
cd hgrepo &&
|
||||
|
||||
echo test > test_file &&
|
||||
hg add test_file &&
|
||||
hg commit -m add &&
|
||||
|
||||
hg rm test_file &&
|
||||
hg commit -m remove
|
||||
) &&
|
||||
|
||||
git clone "hg::hgrepo" gitrepo &&
|
||||
check_files gitrepo
|
||||
'
|
||||
|
||||
test_expect_success 'cloning a file replaced with a directory' '
|
||||
test_when_finished "rm -rf hgrepo gitrepo" &&
|
||||
|
||||
(
|
||||
hg init hgrepo &&
|
||||
cd hgrepo &&
|
||||
|
||||
echo test > dir_or_file &&
|
||||
hg add dir_or_file &&
|
||||
hg commit -m add &&
|
||||
|
||||
hg rm dir_or_file &&
|
||||
mkdir dir_or_file &&
|
||||
echo test > dir_or_file/test_file &&
|
||||
hg add dir_or_file/test_file &&
|
||||
hg commit -m replase
|
||||
) &&
|
||||
|
||||
git clone "hg::hgrepo" gitrepo &&
|
||||
check_files gitrepo "dir_or_file/test_file"
|
||||
'
|
||||
|
||||
test_expect_success 'clone replace directory with a file' '
|
||||
test_when_finished "rm -rf hgrepo gitrepo" &&
|
||||
|
||||
(
|
||||
hg init hgrepo &&
|
||||
cd hgrepo &&
|
||||
|
||||
mkdir dir_or_file &&
|
||||
echo test > dir_or_file/test_file &&
|
||||
hg add dir_or_file/test_file &&
|
||||
hg commit -m add &&
|
||||
|
||||
hg rm dir_or_file/test_file &&
|
||||
echo test > dir_or_file &&
|
||||
hg add dir_or_file &&
|
||||
hg commit -m add &&
|
||||
|
||||
hg rm dir_or_file
|
||||
) &&
|
||||
|
||||
git clone "hg::hgrepo" gitrepo &&
|
||||
check_files gitrepo "dir_or_file"
|
||||
'
|
||||
|
||||
test_done
|
||||
|
||||
Reference in New Issue
Block a user