git-svn: migrate out of contrib
authorEric Wong <normalperson@yhbt.net>
Thu, 6 Jul 2006 07:14:16 +0000 (00:14 -0700)
committerJunio C Hamano <junkio@cox.net>
Fri, 7 Jul 2006 00:02:47 +0000 (17:02 -0700)
Allow NO_SVN_TESTS to be defined to skip git-svn tests.  These
tests are time-consuming due to SVN being slow, and even more so
if SVN Perl libraries are not available.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 files changed:
.gitignore
Documentation/git-svn.txt [moved from contrib/git-svn/git-svn.txt with 100% similarity]
Makefile
contrib/git-svn/.gitignore [deleted file]
contrib/git-svn/Makefile [deleted file]
git-svn.perl [moved from contrib/git-svn/git-svn.perl with 99% similarity]
t/Makefile
t/lib-git-svn.sh [moved from contrib/git-svn/t/lib-git-svn.sh with 64% similarity]
t/t9100-git-svn-basic.sh [moved from contrib/git-svn/t/t0000-contrib-git-svn.sh with 98% similarity, mode: 0755]
t/t9101-git-svn-props.sh [moved from contrib/git-svn/t/t0001-contrib-git-svn-props.sh with 100% similarity, mode: 0755]
t/t9102-git-svn-deep-rmdir.sh [moved from contrib/git-svn/t/t0002-deep-rmdir.sh with 100% similarity, mode: 0755]
t/t9103-git-svn-graft-branches.sh [moved from contrib/git-svn/t/t0003-graft-branches.sh with 100% similarity, mode: 0755]
t/t9104-git-svn-follow-parent.sh [moved from contrib/git-svn/t/t0004-follow-parent.sh with 100% similarity, mode: 0755]
t/t9105-git-svn-commit-diff.sh [moved from contrib/git-svn/t/t0005-commit-diff.sh with 100% similarity, mode: 0755]

index 2bcc604afea1871b2783a8768a1078572899b92f..52d61f31939d4fbbd55521cff85939fd1cf97e28 100644 (file)
@@ -107,6 +107,7 @@ git-ssh-push
 git-ssh-upload
 git-status
 git-stripspace
+git-svn
 git-svnimport
 git-symbolic-ref
 git-tag
index 202f26171ac3319ac0a4d35f7bd6125cfac82a4b..a0e90c012f9483123effe66bad790f585f16979a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -33,6 +33,10 @@ all:
 # Define NO_SYMLINK_HEAD if you never want .git/HEAD to be a symbolic link.
 # Enable it on Windows.  By default, symrefs are still used.
 #
+# Define NO_SVN_TESTS if you want to skip time-consuming SVN interopability
+# tests.  These tests take up a significant amount of the total test time
+# but are not needed unless you plan to talk to SVN repos.
+#
 # Define PPC_SHA1 environment variable when running make to make use of
 # a bundled SHA1 routine optimized for PowerPC.
 #
@@ -134,7 +138,7 @@ SCRIPT_PERL = \
        git-shortlog.perl git-rerere.perl \
        git-annotate.perl git-cvsserver.perl \
        git-svnimport.perl git-mv.perl git-cvsexportcommit.perl \
-       git-send-email.perl
+       git-send-email.perl git-svn.perl
 
 SCRIPT_PYTHON = \
        git-merge-recursive.py
diff --git a/contrib/git-svn/.gitignore b/contrib/git-svn/.gitignore
deleted file mode 100644 (file)
index d8d87e3..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-git-svn
-git-svn.xml
-git-svn.html
-git-svn.1
diff --git a/contrib/git-svn/Makefile b/contrib/git-svn/Makefile
deleted file mode 100644 (file)
index 7c20946..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-all: git-svn
-
-prefix?=$(HOME)
-bindir=$(prefix)/bin
-mandir=$(prefix)/man
-man1=$(mandir)/man1
-INSTALL?=install
-doc_conf=../../Documentation/asciidoc.conf
--include ../../config.mak
-
-git-svn: git-svn.perl
-       cp $< $@
-       chmod +x $@
-
-install: all
-       $(INSTALL) -d -m755 $(DESTDIR)$(bindir)
-       $(INSTALL) git-svn $(DESTDIR)$(bindir)
-
-install-doc: doc
-       $(INSTALL) git-svn.1 $(DESTDIR)$(man1)
-
-doc: git-svn.1
-git-svn.1 : git-svn.xml
-       xmlto man git-svn.xml
-git-svn.xml : git-svn.txt
-       asciidoc -b docbook -d manpage \
-               -f ../../Documentation/asciidoc.conf $<
-git-svn.html : git-svn.txt
-       asciidoc -b xhtml11 -d manpage \
-               -f ../../Documentation/asciidoc.conf $<
-test: git-svn
-       cd t && for i in t????-*.sh; do $(SHELL) ./$$i $(TEST_FLAGS); done
-
-# we can test NO_OPTIMIZE_COMMITS independently of LC_ALL
-full-test:
-       $(MAKE) test GIT_SVN_NO_LIB=1 GIT_SVN_NO_OPTIMIZE_COMMITS=1 LC_ALL=C
-       $(MAKE) test GIT_SVN_NO_LIB=0 GIT_SVN_NO_OPTIMIZE_COMMITS=1 LC_ALL=C
-       $(MAKE) test GIT_SVN_NO_LIB=1 GIT_SVN_NO_OPTIMIZE_COMMITS=0 \
-                                                       LC_ALL=en_US.UTF-8
-       $(MAKE) test GIT_SVN_NO_LIB=0 GIT_SVN_NO_OPTIMIZE_COMMITS=0 \
-                                                       LC_ALL=en_US.UTF-8
-
-clean:
-       rm -f git-svn *.xml *.html *.1
similarity index 99%
rename from contrib/git-svn/git-svn.perl
rename to git-svn.perl
index 8bc4188e03376e04cb412bcafa01c97a29042d4a..145eaa865a3bc44da2f3bc028c462cefd924f9c6 100755 (executable)
@@ -8,7 +8,7 @@ use vars qw/    $AUTHOR $VERSION
                $GIT_SVN_INDEX $GIT_SVN
                $GIT_DIR $GIT_SVN_DIR $REVDB/;
 $AUTHOR = 'Eric Wong <normalperson@yhbt.net>';
-$VERSION = '1.1.1-broken';
+$VERSION = '@@GIT_VERSION@@';
 
 use Cwd qw/abs_path/;
 $GIT_DIR = abs_path($ENV{GIT_DIR} || '.git');
index 632c55f6d5d66c8e39e213284e163a23b32c2260..89835093fbadf3c55cdf42f7490c6bac98ef2553 100644 (file)
@@ -11,6 +11,7 @@ TAR ?= $(TAR)
 SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
 
 T = $(wildcard t[0-9][0-9][0-9][0-9]-*.sh)
+TSVN = $(wildcard t91[0-9][0-9]-*.sh)
 
 ifdef NO_PYTHON
        GIT_TEST_OPTS += --no-python
@@ -24,6 +25,15 @@ $(T):
 clean:
        rm -fr trash
 
+# we can test NO_OPTIMIZE_COMMITS independently of LC_ALL
+full-svn-test:
+       $(MAKE) $(TSVN) GIT_SVN_NO_LIB=1 GIT_SVN_NO_OPTIMIZE_COMMITS=1 LC_ALL=C
+       $(MAKE) $(TSVN) GIT_SVN_NO_LIB=0 GIT_SVN_NO_OPTIMIZE_COMMITS=1 LC_ALL=C
+       $(MAKE) $(TSVN) GIT_SVN_NO_LIB=1 GIT_SVN_NO_OPTIMIZE_COMMITS=0 \
+                                                       LC_ALL=en_US.UTF-8
+       $(MAKE) $(TSVN) GIT_SVN_NO_LIB=0 GIT_SVN_NO_OPTIMIZE_COMMITS=0 \
+                                                       LC_ALL=en_US.UTF-8
+
 .PHONY: $(T) clean
 .NOTPARALLEL:
 
similarity index 64%
rename from contrib/git-svn/t/lib-git-svn.sh
rename to t/lib-git-svn.sh
index d7f972a0c8fd0163f97c2bc4cd29fe2d1e001002..450fee89973af5fa660b43202e8945b55e01cf6f 100644 (file)
@@ -1,14 +1,12 @@
-PATH=$PWD/../:$PATH
-if test -d ../../../t
+. ./test-lib.sh
+
+if test -n "$NO_SVN_TESTS"
 then
-    cd ../../../t
-else
-    echo "Must be run in contrib/git-svn/t" >&2
-    exit 1
+       test_expect_success 'skipping git-svn tests, NO_SVN_TESTS defined' :
+       test_done
+       exit
 fi
 
-. ./test-lib.sh
-
 GIT_DIR=$PWD/.git
 GIT_SVN_DIR=$GIT_DIR/svn/git-svn
 SVN_TREE=$GIT_SVN_DIR/svn-tree
@@ -16,7 +14,7 @@ SVN_TREE=$GIT_SVN_DIR/svn-tree
 svnadmin >/dev/null 2>&1
 if test $? != 1
 then
-    test_expect_success 'skipping contrib/git-svn test' :
+    test_expect_success 'skipping git-svn tests, svnadmin not found' :
     test_done
     exit
 fi
@@ -24,7 +22,7 @@ fi
 svn >/dev/null 2>&1
 if test $? != 1
 then
-    test_expect_success 'skipping contrib/git-svn test' :
+    test_expect_success 'skipping git-svn tests, svn not found' :
     test_done
     exit
 fi
old mode 100644 (file)
new mode 100755 (executable)
similarity index 98%
rename from contrib/git-svn/t/t0000-contrib-git-svn.sh
rename to t/t9100-git-svn-basic.sh
index b482bb6..bf1d638
@@ -3,7 +3,7 @@
 # Copyright (c) 2006 Eric Wong
 #
 
-test_description='git-svn tests'
+test_description='git-svn basic tests'
 GIT_SVN_LC_ALL=$LC_ALL
 
 case "$LC_ALL" in
@@ -17,6 +17,8 @@ esac
 
 . ./lib-git-svn.sh
 
+echo 'define NO_SVN_TESTS to skip git-svn tests'
+
 mkdir import
 cd import
 
old mode 100644 (file)
new mode 100755 (executable)
similarity index 100%
rename from contrib/git-svn/t/t0001-contrib-git-svn-props.sh
rename to t/t9101-git-svn-props.sh
old mode 100644 (file)
new mode 100755 (executable)
similarity index 100%
rename from contrib/git-svn/t/t0002-deep-rmdir.sh
rename to t/t9102-git-svn-deep-rmdir.sh
old mode 100644 (file)
new mode 100755 (executable)
similarity index 100%
rename from contrib/git-svn/t/t0003-graft-branches.sh
rename to t/t9103-git-svn-graft-branches.sh
old mode 100644 (file)
new mode 100755 (executable)
similarity index 100%
rename from contrib/git-svn/t/t0004-follow-parent.sh
rename to t/t9104-git-svn-follow-parent.sh
old mode 100644 (file)
new mode 100755 (executable)
similarity index 100%
rename from contrib/git-svn/t/t0005-commit-diff.sh
rename to t/t9105-git-svn-commit-diff.sh