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:
commit
e6ff54a261
1
.gitignore
vendored
1
.gitignore
vendored
@ -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
|
||||||
|
@ -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
|
||||||
------------------------------------------
|
------------------------------------------
|
7
Makefile
7
Makefile
@ -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
|
||||||
|
4
contrib/git-svn/.gitignore
vendored
4
contrib/git-svn/.gitignore
vendored
@ -1,4 +0,0 @@
|
|||||||
git-svn
|
|
||||||
git-svn.xml
|
|
||||||
git-svn.html
|
|
||||||
git-svn.1
|
|
@ -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
|
|
@ -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"
|
|
||||||
|
|
||||||
|
|
@ -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');
|
10
t/Makefile
10
t/Makefile
@ -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
50
t/lib-git-svn.sh
Normal 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"
|
||||||
|
|
||||||
|
|
4
contrib/git-svn/t/t0000-contrib-git-svn.sh → t/t9100-git-svn-basic.sh
Normal file → Executable file
4
contrib/git-svn/t/t0000-contrib-git-svn.sh → t/t9100-git-svn-basic.sh
Normal file → Executable 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
|
||||||
|
|
0
contrib/git-svn/t/t0001-contrib-git-svn-props.sh → t/t9101-git-svn-props.sh
Normal file → Executable file
0
contrib/git-svn/t/t0001-contrib-git-svn-props.sh → t/t9101-git-svn-props.sh
Normal file → Executable file
0
contrib/git-svn/t/t0002-deep-rmdir.sh → t/t9102-git-svn-deep-rmdir.sh
Normal file → Executable file
0
contrib/git-svn/t/t0002-deep-rmdir.sh → t/t9102-git-svn-deep-rmdir.sh
Normal file → Executable file
0
contrib/git-svn/t/t0003-graft-branches.sh → t/t9103-git-svn-graft-branches.sh
Normal file → Executable file
0
contrib/git-svn/t/t0003-graft-branches.sh → t/t9103-git-svn-graft-branches.sh
Normal file → Executable file
0
contrib/git-svn/t/t0004-follow-parent.sh → t/t9104-git-svn-follow-parent.sh
Normal file → Executable file
0
contrib/git-svn/t/t0004-follow-parent.sh → t/t9104-git-svn-follow-parent.sh
Normal file → Executable file
0
contrib/git-svn/t/t0005-commit-diff.sh → t/t9105-git-svn-commit-diff.sh
Normal file → Executable file
0
contrib/git-svn/t/t0005-commit-diff.sh → t/t9105-git-svn-commit-diff.sh
Normal file → Executable file
Loading…
Reference in New Issue
Block a user