From c8bae7493d2f2910b57f13ded012e86bdcfb0532 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 16:47:53 +0200 Subject: Adding upstream version 1:2.39.2. Signed-off-by: Daniel Baumann --- t/t9117-git-svn-init-clone.sh | 122 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100755 t/t9117-git-svn-init-clone.sh (limited to 't/t9117-git-svn-init-clone.sh') diff --git a/t/t9117-git-svn-init-clone.sh b/t/t9117-git-svn-init-clone.sh new file mode 100755 index 0000000..62de819 --- /dev/null +++ b/t/t9117-git-svn-init-clone.sh @@ -0,0 +1,122 @@ +#!/bin/sh +# +# Copyright (c) 2007 Eric Wong +# + +test_description='git svn init/clone tests' + +. ./lib-git-svn.sh + +test_expect_success 'setup svnrepo' ' + mkdir project project/trunk project/branches project/tags && + echo foo > project/trunk/foo && + svn_cmd import -m "$test_description" project "$svnrepo"/project && + rm -rf project + ' + +test_expect_success 'basic clone' ' + test ! -d trunk && + git svn clone "$svnrepo"/project/trunk && + test -d trunk/.git/svn && + test -e trunk/foo && + rm -rf trunk + ' + +test_expect_success 'clone to target directory' ' + test ! -d target && + git svn clone "$svnrepo"/project/trunk target && + test -d target/.git/svn && + test -e target/foo && + rm -rf target + ' + +test_expect_success 'clone with --stdlayout' ' + test ! -d project && + git svn clone -s "$svnrepo"/project && + test -d project/.git/svn && + test -e project/foo && + rm -rf project + ' + +test_expect_success 'clone to target directory with --stdlayout' ' + test ! -d target && + git svn clone -s "$svnrepo"/project target && + test -d target/.git/svn && + test -e target/foo && + rm -rf target + ' + +test_expect_success 'init without -s/-T/-b/-t does not warn' ' + test ! -d trunk && + git svn init "$svnrepo"/project/trunk trunk 2>warning && + ! grep -q prefix warning && + rm -rf trunk && + rm -f warning + ' + +test_expect_success 'clone without -s/-T/-b/-t does not warn' ' + test ! -d trunk && + git svn clone "$svnrepo"/project/trunk 2>warning && + ! grep -q prefix warning && + rm -rf trunk && + rm -f warning + ' + +test_svn_configured_prefix () { + prefix=$1 && + cat >expect <>actual && + git --git-dir=project/.git config svn-remote.svn.branches >>actual && + git --git-dir=project/.git config svn-remote.svn.tags >>actual && + test_cmp expect actual && + rm -f expect actual +} + +test_expect_success 'init with -s/-T/-b/-t assumes --prefix=origin/' ' + test ! -d project && + git svn init -s "$svnrepo"/project project 2>warning && + ! grep -q prefix warning && + test_svn_configured_prefix "origin/" && + rm -rf project && + rm -f warning + ' + +test_expect_success 'clone with -s/-T/-b/-t assumes --prefix=origin/' ' + test ! -d project && + git svn clone -s "$svnrepo"/project 2>warning && + ! grep -q prefix warning && + test_svn_configured_prefix "origin/" && + rm -rf project && + rm -f warning + ' + +test_expect_success 'init with -s/-T/-b/-t and --prefix "" still works' ' + test ! -d project && + git svn init -s "$svnrepo"/project project --prefix "" 2>warning && + ! grep -q prefix warning && + test_svn_configured_prefix "" && + rm -rf project && + rm -f warning + ' + +test_expect_success 'clone with -s/-T/-b/-t and --prefix "" still works' ' + test ! -d project && + git svn clone -s "$svnrepo"/project --prefix "" 2>warning && + ! grep -q prefix warning && + test_svn_configured_prefix "" && + rm -rf project && + rm -f warning + ' + +test_expect_success 'init with -T as a full url works' ' + test ! -d project && + git svn init -T "$svnrepo"/project/trunk project && + rm -rf project + ' + +test_done -- cgit v1.2.3