Browse Source

git-svn: migrate out of contrib

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>
maint
Eric Wong 19 years ago committed by Junio C Hamano
parent
commit
60d02ccc18
  1. 1
      .gitignore
  2. 0
      Documentation/git-svn.txt
  3. 6
      Makefile
  4. 4
      contrib/git-svn/.gitignore
  5. 44
      contrib/git-svn/Makefile
  6. 2
      git-svn.perl
  7. 10
      t/Makefile
  8. 18
      t/lib-git-svn.sh
  9. 4
      t/t9100-git-svn-basic.sh
  10. 0
      t/t9101-git-svn-props.sh
  11. 0
      t/t9102-git-svn-deep-rmdir.sh
  12. 0
      t/t9103-git-svn-graft-branches.sh
  13. 0
      t/t9104-git-svn-follow-parent.sh
  14. 0
      t/t9105-git-svn-commit-diff.sh

1
.gitignore vendored

@ -107,6 +107,7 @@ git-ssh-push @@ -107,6 +107,7 @@ git-ssh-push
git-ssh-upload
git-status
git-stripspace
git-svn
git-svnimport
git-symbolic-ref
git-tag

0
contrib/git-svn/git-svn.txt → Documentation/git-svn.txt

6
Makefile

@ -33,6 +33,10 @@ all: @@ -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 = \ @@ -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

4
contrib/git-svn/.gitignore vendored

@ -1,4 +0,0 @@ @@ -1,4 +0,0 @@
git-svn
git-svn.xml
git-svn.html
git-svn.1

44
contrib/git-svn/Makefile

@ -1,44 +0,0 @@ @@ -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

2
contrib/git-svn/git-svn.perl → git-svn.perl

@ -8,7 +8,7 @@ use vars qw/ $AUTHOR $VERSION @@ -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');

10
t/Makefile

@ -11,6 +11,7 @@ TAR ?= $(TAR) @@ -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): @@ -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:


18
contrib/git-svn/t/lib-git-svn.sh → t/lib-git-svn.sh

@ -1,14 +1,12 @@ @@ -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 @@ -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 @@ -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

4
contrib/git-svn/t/t0000-contrib-git-svn.sh → t/t9100-git-svn-basic.sh

@ -3,7 +3,7 @@ @@ -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 @@ -17,6 +17,8 @@ esac

. ./lib-git-svn.sh

echo 'define NO_SVN_TESTS to skip git-svn tests'

mkdir import
cd import

0
contrib/git-svn/t/t0001-contrib-git-svn-props.sh → t/t9101-git-svn-props.sh

0
contrib/git-svn/t/t0002-deep-rmdir.sh → t/t9102-git-svn-deep-rmdir.sh

0
contrib/git-svn/t/t0003-graft-branches.sh → t/t9103-git-svn-graft-branches.sh

0
contrib/git-svn/t/t0004-follow-parent.sh → t/t9104-git-svn-follow-parent.sh

0
contrib/git-svn/t/t0005-commit-diff.sh → t/t9105-git-svn-commit-diff.sh

Loading…
Cancel
Save