summaryrefslogtreecommitdiff
path: root/contrib/git-svn/t
diff options
context:
space:
mode:
authorLibravatar Eric Wong <normalperson@yhbt.net>2006-06-28 03:07:14 -0700
committerLibravatar Junio C Hamano <junkio@cox.net>2006-06-28 03:20:29 -0700
commitdc62e25cbd0ec1726d5108a8caa539e60492cc7a (patch)
tree327af8ffc26c6d6db7f7ba2bb4bfaead402b739b /contrib/git-svn/t
parentcombine-diff.c: type sanity (diff)
downloadtgif-dc62e25cbd0ec1726d5108a8caa539e60492cc7a.tar.xz
git-svn: SVN 1.1.x library compatibility
Tested on a plain Ubuntu Hoary installation using subversion 1.1.1-2ubuntu3 1.1.x issues I had to deal with: * Avoid the noisy command-line client compatibility check if we use the libraries. * get_log() arguments differ (now using a nice wrapper from Junio's suggestion) * get_file() is picky about what kind of file handles it gets, so I ended up redirecting STDOUT. I'm probably overflushing my file handles, but that's the safest thing to do... * BDB kept segfaulting on me during tests, so svnadmin will use FSFS whenever we can. * If somebody used an expanded CVS $Id$ line inside a file, then propsetting it to use svn:keywords will cause the original CVS $Id$ to be retained when asked for the original file. As far as I can see, this is a server-side issue. We won't care in the test anymore, as long as it's not expanded by SVN, a static CVS $Id$ line is fine. While we're at making ourselves more compatible, avoid grep along with the -q flag, which is GNU-specific. (grep avoidance tip from Junio, too) Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'contrib/git-svn/t')
-rw-r--r--contrib/git-svn/t/lib-git-svn.sh8
-rw-r--r--contrib/git-svn/t/t0000-contrib-git-svn.sh14
-rw-r--r--contrib/git-svn/t/t0001-contrib-git-svn-props.sh4
3 files changed, 21 insertions, 5 deletions
diff --git a/contrib/git-svn/t/lib-git-svn.sh b/contrib/git-svn/t/lib-git-svn.sh
index 2843258fc4..d7f972a0c8 100644
--- a/contrib/git-svn/t/lib-git-svn.sh
+++ b/contrib/git-svn/t/lib-git-svn.sh
@@ -33,7 +33,13 @@ svnrepo=$PWD/svnrepo
set -e
-svnadmin create $svnrepo
+if svnadmin create --help | grep fs-type >/dev/null
+then
+ svnadmin create --fs-type fsfs "$svnrepo"
+else
+ svnadmin create "$svnrepo"
+fi
+
svnrepo="file://$svnrepo/test-git-svn"
diff --git a/contrib/git-svn/t/t0000-contrib-git-svn.sh b/contrib/git-svn/t/t0000-contrib-git-svn.sh
index 443d518367..b482bb64c0 100644
--- a/contrib/git-svn/t/t0000-contrib-git-svn.sh
+++ b/contrib/git-svn/t/t0000-contrib-git-svn.sh
@@ -5,6 +5,16 @@
test_description='git-svn tests'
GIT_SVN_LC_ALL=$LC_ALL
+
+case "$LC_ALL" in
+*.UTF-8)
+ have_utf8=t
+ ;;
+*)
+ have_utf8=
+ ;;
+esac
+
. ./lib-git-svn.sh
mkdir import
@@ -173,7 +183,7 @@ then
fi
-if test -n "$GIT_SVN_LC_ALL" && echo $GIT_SVN_LC_ALL | grep -q '\.UTF-8$'
+if test "$have_utf8" = t
then
name="commit with UTF-8 message: locale: $GIT_SVN_LC_ALL"
echo '# hello' >> exec-2.sh
@@ -203,7 +213,7 @@ fi
name='check imported tree checksums expected tree checksums'
rm -f expected
-if test -n "$GIT_SVN_LC_ALL" && echo $GIT_SVN_LC_ALL | grep -q '\.UTF-8$'
+if test "$have_utf8" = t
then
echo tree f735671b89a7eb30cab1d8597de35bd4271ab813 > expected
fi
diff --git a/contrib/git-svn/t/t0001-contrib-git-svn-props.sh b/contrib/git-svn/t/t0001-contrib-git-svn-props.sh
index 54e0ed7353..a5a235f100 100644
--- a/contrib/git-svn/t/t0001-contrib-git-svn-props.sh
+++ b/contrib/git-svn/t/t0001-contrib-git-svn-props.sh
@@ -21,8 +21,8 @@ a_empty_crlf=
cd import
cat >> kw.c <<\EOF
-/* Make it look like somebody copied a file from CVS into SVN: */
-/* $Id: kw.c,v 1.1.1.1 1994/03/06 00:00:00 eric Exp $ */
+/* Somebody prematurely put a keyword into this file */
+/* $Id$ */
EOF
printf "Hello\r\nWorld\r\n" > crlf