git/t/t9154-git-svn-fancy-glob.sh
Jay Soffian 075762085c git-svn: allow subset of branches/tags to be specified in glob spec
For very large projects it is useful to be able to clone a subset of the
upstream SVN repo's branches. Allow for this by letting the left-side of
the branches and tags glob specs contain a brace-delineated comma-separated
list of names. e.g.:

	branches = branches/{red,green}/src:refs/remotes/branches/*

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
2010-01-23 03:23:04 -08:00

43 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
#
# Copyright (c) 2010 Jay Soffian
#
test_description='git svn fancy glob test'
. ./lib-git-svn.sh
test_expect_success 'load svn repo' "
svnadmin load -q '$rawsvnrepo' < '$TEST_DIRECTORY/t9154/svn.dump' &&
git svn init --minimize-url -T trunk '$svnrepo' &&
git svn fetch
"
test_expect_success 'add red branch' "
git config svn-remote.svn.branches 'branches/{red}:refs/remotes/*' &&
git svn fetch &&
git rev-parse refs/remotes/red &&
test_must_fail git rev-parse refs/remotes/green &&
test_must_fail git rev-parse refs/remotes/blue
"
test_expect_success 'add green branch' "
GIT_CONFIG=.git/svn/.metadata git config --unset svn-remote.svn.branches-maxRev &&
git config svn-remote.svn.branches 'branches/{red,green}:refs/remotes/*' &&
git svn fetch &&
git rev-parse refs/remotes/red &&
git rev-parse refs/remotes/green &&
test_must_fail git rev-parse refs/remotes/blue
"
test_expect_success 'add all branches' "
GIT_CONFIG=.git/svn/.metadata git config --unset svn-remote.svn.branches-maxRev &&
git config svn-remote.svn.branches 'branches/*:refs/remotes/*' &&
git svn fetch &&
git rev-parse refs/remotes/red &&
git rev-parse refs/remotes/green &&
git rev-parse refs/remotes/blue
"
test_done