#!/bin/sh # # Copyright (c) 2013 Tobias Schulte # global test_description := ''git svn branch for subproject clones'' source ./lib-git-svn.sh test_expect_success 'initialize svnrepo' ' mkdir import && ( cd import && mkdir -p trunk/project branches tags && ( cd trunk/project && echo foo > foo ) && svn_cmd import -m "import for git-svn" . "$svnrepo" >/dev/null ) && rm -rf import && svn_cmd co "$svnrepo"/trunk/project trunk/project && ( cd trunk/project && echo bar >> foo && svn_cmd ci -m "updated trunk" ) && rm -rf trunk ' test_expect_success 'import into git' ' git svn init --trunk=trunk/project --branches=branches/*/project \ --tags=tags/*/project "$svnrepo" && git svn fetch && git checkout remotes/origin/trunk ' test_expect_success 'git svn branch tests' ' test_must_fail git svn branch a && git svn branch --parents a && test_must_fail git svn branch -t tag1 && git svn branch --parents -t tag1 && test_must_fail git svn branch --tag tag2 && git svn branch --parents --tag tag2 && test_must_fail git svn tag tag3 && git svn tag --parents tag3 ' test_done (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"git svn branch for subproject clones">)} spids: [13] ) ] spids: [13] ) (C {(.)} {(./lib-git-svn.sh)}) (C {(test_expect_success)} {(SQ <"initialize svnrepo">)} { (SQ <"\n"> <"\tmkdir import &&\n"> <"\t(\n"> <"\t\tcd import &&\n"> <"\t\tmkdir -p trunk/project branches tags &&\n"> <"\t\t(\n"> <"\t\t\tcd trunk/project &&\n"> <"\t\t\techo foo > foo\n"> <"\t\t) &&\n"> <"\t\tsvn_cmd import -m \"import for git-svn\" . \"$svnrepo\" >/dev/null\n"> <"\t) &&\n"> <"\trm -rf import &&\n"> <"\tsvn_cmd co \"$svnrepo\"/trunk/project trunk/project &&\n"> <"\t(\n"> <"\t\tcd trunk/project &&\n"> <"\t\techo bar >> foo &&\n"> <"\t\tsvn_cmd ci -m \"updated trunk\"\n"> <"\t) &&\n"> <"\trm -rf trunk\n"> ) } ) (C {(test_expect_success)} {(SQ <"import into git">)} { (SQ <"\n"> <"\tgit svn init --trunk=trunk/project --branches=branches/*/project \\\n"> <"\t\t--tags=tags/*/project \"$svnrepo\" &&\n"> <"\tgit svn fetch &&\n"> <"\tgit checkout remotes/origin/trunk\n"> ) } ) (C {(test_expect_success)} {(SQ <"git svn branch tests">)} { (SQ <"\n"> <"\ttest_must_fail git svn branch a &&\n"> <"\tgit svn branch --parents a &&\n"> <"\ttest_must_fail git svn branch -t tag1 &&\n"> <"\tgit svn branch --parents -t tag1 &&\n"> <"\ttest_must_fail git svn branch --tag tag2 &&\n"> <"\tgit svn branch --parents --tag tag2 &&\n"> <"\ttest_must_fail git svn tag tag3 &&\n"> <"\tgit svn tag --parents tag3\n"> ) } ) (C {(test_done)}) ] )