Merge branch 'ew/svn'

* ew/svn:
  Fix some doubled word typos
  Typofix in Makefile comment.
  Makefile: export NO_SVN_TESTS
  git-svn: migrate out of contrib (follow-up)
  git-svn: migrate out of contrib
This commit is contained in:
Junio C Hamano 2006-07-09 23:37:19 -07:00
commit e6ff54a261
15 changed files with 72 additions and 97 deletions

1
.gitignore vendored
View File

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

View File

@ -224,7 +224,7 @@ Merge tracking in Subversion is lacking and doing branched development
with Subversion is cumbersome as a result. git-svn completely forgoes with Subversion is cumbersome as a result. git-svn completely forgoes
any automated merge/branch tracking on the Subversion side and leaves it any automated merge/branch tracking on the Subversion side and leaves it
entirely up to the user on the git side. It's simply not worth it to do entirely up to the user on the git side. It's simply not worth it to do
a useful translation when the the original signal is weak. a useful translation when the original signal is weak.
TRACKING MULTIPLE REPOSITORIES OR BRANCHES TRACKING MULTIPLE REPOSITORIES OR BRANCHES
------------------------------------------ ------------------------------------------

View File

@ -33,6 +33,10 @@ all:
# Define NO_SYMLINK_HEAD if you never want .git/HEAD to be a symbolic link. # 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. # Enable it on Windows. By default, symrefs are still used.
# #
# Define NO_SVN_TESTS if you want to skip time-consuming SVN interoperability
# 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 # Define PPC_SHA1 environment variable when running make to make use of
# a bundled SHA1 routine optimized for PowerPC. # a bundled SHA1 routine optimized for PowerPC.
# #
@ -134,7 +138,7 @@ SCRIPT_PERL = \
git-shortlog.perl git-rerere.perl \ git-shortlog.perl git-rerere.perl \
git-annotate.perl git-cvsserver.perl \ git-annotate.perl git-cvsserver.perl \
git-svnimport.perl git-mv.perl git-cvsexportcommit.perl \ git-svnimport.perl git-mv.perl git-cvsexportcommit.perl \
git-send-email.perl git-send-email.perl git-svn.perl
SCRIPT_PYTHON = \ SCRIPT_PYTHON = \
git-merge-recursive.py git-merge-recursive.py
@ -653,6 +657,7 @@ GIT-CFLAGS: .FORCE-GIT-CFLAGS
# with that. # with that.
export NO_PYTHON export NO_PYTHON
export NO_SVN_TESTS
test: all test: all
$(MAKE) -C t/ all $(MAKE) -C t/ all

View File

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

View File

@ -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

View File

@ -1,45 +0,0 @@
PATH=$PWD/../:$PATH
if test -d ../../../t
then
cd ../../../t
else
echo "Must be run in contrib/git-svn/t" >&2
exit 1
fi
. ./test-lib.sh
GIT_DIR=$PWD/.git
GIT_SVN_DIR=$GIT_DIR/svn/git-svn
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_done
exit
fi
svn >/dev/null 2>&1
if test $? != 1
then
test_expect_success 'skipping contrib/git-svn test' :
test_done
exit
fi
svnrepo=$PWD/svnrepo
set -e
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"

View File

@ -8,7 +8,7 @@ use vars qw/ $AUTHOR $VERSION
$GIT_SVN_INDEX $GIT_SVN $GIT_SVN_INDEX $GIT_SVN
$GIT_DIR $GIT_SVN_DIR $REVDB/; $GIT_DIR $GIT_SVN_DIR $REVDB/;
$AUTHOR = 'Eric Wong <normalperson@yhbt.net>'; $AUTHOR = 'Eric Wong <normalperson@yhbt.net>';
$VERSION = '1.1.1-broken'; $VERSION = '@@GIT_VERSION@@';
use Cwd qw/abs_path/; use Cwd qw/abs_path/;
$GIT_DIR = abs_path($ENV{GIT_DIR} || '.git'); $GIT_DIR = abs_path($ENV{GIT_DIR} || '.git');

View File

@ -11,6 +11,7 @@ TAR ?= $(TAR)
SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH)) SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
T = $(wildcard t[0-9][0-9][0-9][0-9]-*.sh) T = $(wildcard t[0-9][0-9][0-9][0-9]-*.sh)
TSVN = $(wildcard t91[0-9][0-9]-*.sh)
ifdef NO_PYTHON ifdef NO_PYTHON
GIT_TEST_OPTS += --no-python GIT_TEST_OPTS += --no-python
@ -24,6 +25,15 @@ $(T):
clean: clean:
rm -fr trash 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 .PHONY: $(T) clean
.NOTPARALLEL: .NOTPARALLEL:

50
t/lib-git-svn.sh Normal file
View File

@ -0,0 +1,50 @@
. ./test-lib.sh
if test -n "$NO_SVN_TESTS"
then
test_expect_success 'skipping git-svn tests, NO_SVN_TESTS defined' :
test_done
exit
fi
GIT_DIR=$PWD/.git
GIT_SVN_DIR=$GIT_DIR/svn/git-svn
SVN_TREE=$GIT_SVN_DIR/svn-tree
perl -e 'use SVN::Core' >/dev/null 2>&1
if test $? -ne 0
then
echo 'Perl SVN libraries not found, tests requiring those will be skipped'
GIT_SVN_NO_LIB=1
fi
svnadmin >/dev/null 2>&1
if test $? -ne 1
then
test_expect_success 'skipping git-svn tests, svnadmin not found' :
test_done
exit
fi
svn >/dev/null 2>&1
if test $? -ne 1
then
test_expect_success 'skipping git-svn tests, svn not found' :
test_done
exit
fi
svnrepo=$PWD/svnrepo
set -e
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"

View File

@ -3,7 +3,7 @@
# Copyright (c) 2006 Eric Wong # Copyright (c) 2006 Eric Wong
# #
test_description='git-svn tests' test_description='git-svn basic tests'
GIT_SVN_LC_ALL=$LC_ALL GIT_SVN_LC_ALL=$LC_ALL
case "$LC_ALL" in case "$LC_ALL" in
@ -17,6 +17,8 @@ esac
. ./lib-git-svn.sh . ./lib-git-svn.sh
echo 'define NO_SVN_TESTS to skip git-svn tests'
mkdir import mkdir import
cd import cd import