#!/bin/sh # # Copyright (c) 2008 Deskin Miller # test_description='git svn partial-rebuild tests' . ./lib-git-svn.sh test_expect_success 'initialize svnrepo' ' mkdir import && ( (cd import && mkdir trunk branches tags && (cd trunk && echo foo > foo ) && svn_cmd import -m "import for git-svn" . "$svnrepo" >/dev/null ) && rm -rf import && svn_cmd co "$svnrepo"/trunk trunk && (cd trunk && echo bar >> foo && svn_cmd ci -m "updated trunk" ) && rm -rf trunk ) ' test_expect_success 'import into git' ' git svn init --stdlayout "$svnrepo" && git svn fetch && git checkout remotes/origin/trunk ' test_expect_success 'git svn branch tests' ' git svn branch a && base=$(git rev-parse HEAD:) && test $base = $(git rev-parse remotes/origin/a:) && git svn branch -m "created branch b blah" b && test $base = $(git rev-parse remotes/origin/b:) && test_must_fail git branch -m "no branchname" && git svn branch -n c && test_must_fail git rev-parse remotes/origin/c && test_must_fail git svn branch a && git svn branch -t tag1 && test $base = $(git rev-parse remotes/origin/tags/tag1:) && git svn branch --tag tag2 && test $base = $(git rev-parse remotes/origin/tags/tag2:) && git svn tag tag3 && test $base = $(git rev-parse remotes/origin/tags/tag3:) && git svn tag -m "created tag4 foo" tag4 && test $base = $(git rev-parse remotes/origin/tags/tag4:) && test_must_fail git svn tag -m "no tagname" && git svn tag -n tag5 && test_must_fail git rev-parse remotes/origin/tags/tag5 && test_must_fail git svn tag tag1 ' test_expect_success 'branch uses correct svn-remote' ' (svn_cmd co "$svnrepo" svn && cd svn && mkdir mirror && svn_cmd add mirror && svn_cmd copy trunk mirror/ && svn_cmd copy tags mirror/ && svn_cmd copy branches mirror/ && svn_cmd ci -m "made mirror" ) && rm -rf svn && git svn init -s -R mirror --prefix=mirror/ "$svnrepo"/mirror && git svn fetch -R mirror && git checkout mirror/trunk && base=$(git rev-parse HEAD:) && git svn branch -m "branch in mirror" d && test $base = $(git rev-parse remotes/mirror/d:) && test_must_fail git rev-parse remotes/d ' test_done