git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Eric Wong <normalperson@yhbt.net>
To: Junio C Hamano <junkio@cox.net>
Cc: git@vger.kernel.org, Eric Wong <normalperson@yhbt.net>
Subject: [PATCH 1/2] git-svn: quiet down tests and fix some unportable shell constructs
Date: Tue, 26 Dec 2006 16:27:37 -0800	[thread overview]
Message-ID: <1167179258485-git-send-email-normalperson@yhbt.net> (raw)

The latest changes to git-commit have made it more verbose; and
I was running the setup of the tests outside of the test_expect_*,
so errors in those were not caught.  Now we move them to where
they can be eval'ed and have their output trapped.

export var=value has been removed

Signed-off-by: Eric Wong <normalperson@yhbt.net>
---
 t/t9100-git-svn-basic.sh |  258 +++++++++++++++++++++++-----------------------
 1 files changed, 127 insertions(+), 131 deletions(-)

diff --git a/t/t9100-git-svn-basic.sh b/t/t9100-git-svn-basic.sh
index 0edf19e..c22fe47 100755
--- a/t/t9100-git-svn-basic.sh
+++ b/t/t9100-git-svn-basic.sh
@@ -19,180 +19,176 @@ esac
 
 echo 'define NO_SVN_TESTS to skip git-svn tests'
 
-mkdir import
-cd import
-
-echo foo > foo
-if test -z "$NO_SYMLINK"
-then
-	ln -s foo foo.link
-fi
-mkdir -p dir/a/b/c/d/e
-echo 'deep dir' > dir/a/b/c/d/e/file
-mkdir -p bar
-echo 'zzz' > bar/zzz
-echo '#!/bin/sh' > exec.sh
-chmod +x exec.sh
-svn import -m 'import for git-svn' . "$svnrepo" >/dev/null
-
-cd ..
-rm -rf import
-
 test_expect_success \
-    'initialize git-svn' \
-    "git-svn init $svnrepo"
+    'initialize git-svn' "
+	mkdir import &&
+	cd import &&
+	echo foo > foo &&
+	if test -z '$NO_SYMLINK'
+	then
+		ln -s foo foo.link
+	fi
+	mkdir -p dir/a/b/c/d/e &&
+	echo 'deep dir' > dir/a/b/c/d/e/file &&
+	mkdir bar &&
+	echo 'zzz' > bar/zzz &&
+	echo '#!/bin/sh' > exec.sh &&
+	chmod +x exec.sh &&
+	svn import -m 'import for git-svn' . $svnrepo >/dev/null &&
+	cd .. &&
+	rm -rf import &&
+	git-svn init $svnrepo"
 
 test_expect_success \
     'import an SVN revision into git' \
     'git-svn fetch'
 
-test_expect_success "checkout from svn" "svn co $svnrepo $SVN_TREE"
+test_expect_success "checkout from svn" "svn co $svnrepo '$SVN_TREE'"
 
 name='try a deep --rmdir with a commit'
-git checkout -f -b mybranch remotes/git-svn
-mv dir/a/b/c/d/e/file dir/file
-cp dir/file file
-git update-index --add --remove dir/a/b/c/d/e/file dir/file file
-git commit -m "$name"
-
-test_expect_success "$name" \
-    "git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch &&
-     svn up $SVN_TREE &&
-     test -d $SVN_TREE/dir && test ! -d $SVN_TREE/dir/a"
+test_expect_success "$name" "
+	git checkout -f -b mybranch remotes/git-svn &&
+	mv dir/a/b/c/d/e/file dir/file &&
+	cp dir/file file &&
+	git update-index --add --remove dir/a/b/c/d/e/file dir/file file &&
+	git commit -m '$name' &&
+	git-svn set-tree --find-copies-harder --rmdir \
+		remotes/git-svn..mybranch &&
+	svn up '$SVN_TREE' &&
+	test -d '$SVN_TREE'/dir && test ! -d '$SVN_TREE'/dir/a"
 
 
 name='detect node change from file to directory #1'
-mkdir dir/new_file
-mv dir/file dir/new_file/file
-mv dir/new_file dir/file
-git update-index --remove dir/file
-git update-index --add dir/file/file
-git commit -m "$name"
-
-test_expect_failure "$name" \
-    'git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch' \
-    || true
+test_expect_failure "$name" "
+	mkdir dir/new_file &&
+	mv dir/file dir/new_file/file &&
+	mv dir/new_file dir/file &&
+	git update-index --remove dir/file &&
+	git update-index --add dir/file/file &&
+	git commit -m '$name'  &&
+	git-svn set-tree --find-copies-harder --rmdir \
+		remotes/git-svn..mybranch" || true
 
 
 name='detect node change from directory to file #1'
-rm -rf dir $GIT_DIR/index
-git checkout -f -b mybranch2 remotes/git-svn
-mv bar/zzz zzz
-rm -rf bar
-mv zzz bar
-git update-index --remove -- bar/zzz
-git update-index --add -- bar
-git commit -m "$name"
-
-test_expect_failure "$name" \
-    'git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch2' \
-    || true
+test_expect_failure "$name" "
+	rm -rf dir '$GIT_DIR'/index &&
+	git checkout -f -b mybranch2 remotes/git-svn &&
+	mv bar/zzz zzz &&
+	rm -rf bar &&
+	mv zzz bar &&
+	git update-index --remove -- bar/zzz &&
+	git update-index --add -- bar &&
+	git commit -m '$name' &&
+	git-svn set-tree --find-copies-harder --rmdir \
+		remotes/git-svn..mybranch2" || true
 
 
 name='detect node change from file to directory #2'
-rm -f $GIT_DIR/index
-git checkout -f -b mybranch3 remotes/git-svn
-rm bar/zzz
-git-update-index --remove bar/zzz
-mkdir bar/zzz
-echo yyy > bar/zzz/yyy
-git-update-index --add bar/zzz/yyy
-git commit -m "$name"
-
-test_expect_failure "$name" \
-    'git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch3' \
-    || true
+test_expect_failure "$name" "
+	rm -f '$GIT_DIR'/index &&
+	git checkout -f -b mybranch3 remotes/git-svn &&
+	rm bar/zzz &&
+	git-update-index --remove bar/zzz &&
+	mkdir bar/zzz &&
+	echo yyy > bar/zzz/yyy &&
+	git-update-index --add bar/zzz/yyy &&
+	git commit -m '$name' &&
+	git-svn set-tree --find-copies-harder --rmdir \
+		remotes/git-svn..mybranch3" || true
 
 
 name='detect node change from directory to file #2'
-rm -f $GIT_DIR/index
-git checkout -f -b mybranch4 remotes/git-svn
-rm -rf dir
-git update-index --remove -- dir/file
-touch dir
-echo asdf > dir
-git update-index --add -- dir
-git commit -m "$name"
-
-test_expect_failure "$name" \
-    'git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch4' \
-    || true
+test_expect_failure "$name" "
+	rm -f '$GIT_DIR'/index &&
+	git checkout -f -b mybranch4 remotes/git-svn &&
+	rm -rf dir &&
+	git update-index --remove -- dir/file &&
+	touch dir &&
+	echo asdf > dir &&
+	git update-index --add -- dir &&
+	git commit -m '$name' &&
+	git-svn set-tree --find-copies-harder --rmdir \
+		remotes/git-svn..mybranch4" || true
 
 
 name='remove executable bit from a file'
-rm -f $GIT_DIR/index
-git checkout -f -b mybranch5 remotes/git-svn
-chmod -x exec.sh
-git update-index exec.sh
-git commit -m "$name"
-
-test_expect_success "$name" \
-    "git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch5 &&
-     svn up $SVN_TREE &&
-     test ! -x $SVN_TREE/exec.sh"
+test_expect_success "$name" "
+	rm -f '$GIT_DIR'/index &&
+	git checkout -f -b mybranch5 remotes/git-svn &&
+	chmod -x exec.sh &&
+	git update-index exec.sh &&
+	git commit -m '$name' &&
+	git-svn set-tree --find-copies-harder --rmdir \
+		remotes/git-svn..mybranch5 &&
+	svn up '$SVN_TREE' &&
+	test ! -x '$SVN_TREE'/exec.sh"
 
 
 name='add executable bit back file'
-chmod +x exec.sh
-git update-index exec.sh
-git commit -m "$name"
-
-test_expect_success "$name" \
-    "git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch5 &&
-     svn up $SVN_TREE &&
-     test -x $SVN_TREE/exec.sh"
-
+test_expect_success "$name" "
+	chmod +x exec.sh &&
+	git update-index exec.sh &&
+	git commit -m '$name' &&
+	git-svn set-tree --find-copies-harder --rmdir \
+		remotes/git-svn..mybranch5 &&
+	svn up '$SVN_TREE' &&
+	test -x '$SVN_TREE'/exec.sh"
 
 
 if test -z "$NO_SYMLINK"
 then
 	name='executable file becomes a symlink to bar/zzz (file)'
-	rm exec.sh
-	ln -s bar/zzz exec.sh
-	git update-index exec.sh
-	git commit -m "$name"
 
-	test_expect_success "$name" \
-	    "git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch5 &&
-	     svn up $SVN_TREE &&
-	     test -L $SVN_TREE/exec.sh"
+	test_expect_success "$name" "
+		rm exec.sh &&
+		ln -s bar/zzz exec.sh &&
+		git update-index exec.sh &&
+		git commit -m '$name' &&
+		git-svn set-tree --find-copies-harder --rmdir \
+			remotes/git-svn..mybranch5 &&
+		svn up '$SVN_TREE' &&
+		test -L '$SVN_TREE'/exec.sh"
 
 	name='new symlink is added to a file that was also just made executable'
-	chmod +x bar/zzz
-	ln -s bar/zzz exec-2.sh
-	git update-index --add bar/zzz exec-2.sh
-	git commit -m "$name"
 
-	test_expect_success "$name" \
-	    "git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch5 &&
-	     svn up $SVN_TREE &&
-	     test -x $SVN_TREE/bar/zzz &&
-	     test -L $SVN_TREE/exec-2.sh"
+	test_expect_success "$name" "
+		chmod +x bar/zzz &&
+		ln -s bar/zzz exec-2.sh &&
+		git update-index --add bar/zzz exec-2.sh &&
+		git commit -m '$name' &&
+		git-svn set-tree --find-copies-harder --rmdir \
+			remotes/git-svn..mybranch5 &&
+		svn up '$SVN_TREE' &&
+		test -x '$SVN_TREE'/bar/zzz &&
+		test -L '$SVN_TREE'/exec-2.sh"
 
 	name='modify a symlink to become a file'
-	echo git help > help || true
-	rm exec-2.sh
-	cp help exec-2.sh
-	git update-index exec-2.sh
-	git commit -m "$name"
-
-	test_expect_success "$name" \
-	    "git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch5 &&
-	     svn up $SVN_TREE &&
-	     test -f $SVN_TREE/exec-2.sh &&
-	     test ! -L $SVN_TREE/exec-2.sh &&
-	     diff -u help $SVN_TREE/exec-2.sh"
+	test_expect_success "$name" "
+		echo git help > help || true &&
+		rm exec-2.sh &&
+		cp help exec-2.sh &&
+		git update-index exec-2.sh &&
+		git commit -m '$name' &&
+		git-svn set-tree --find-copies-harder --rmdir \
+			remotes/git-svn..mybranch5 &&
+		svn up '$SVN_TREE' &&
+		test -f '$SVN_TREE'/exec-2.sh &&
+		test ! -L '$SVN_TREE'/exec-2.sh &&
+		diff -u help $SVN_TREE/exec-2.sh"
 fi
 
 
 if test "$have_utf8" = t
 then
 	name="commit with UTF-8 message: locale: $GIT_SVN_LC_ALL"
-	echo '# hello' >> exec-2.sh
-	git update-index exec-2.sh
-	git commit -m 'éï∏'
-	export LC_ALL="$GIT_SVN_LC_ALL"
-	test_expect_success "$name" "git-svn set-tree HEAD"
+	LC_ALL="$GIT_SVN_LC_ALL"
+	export LC_ALL
+	test_expect_success "$name" "
+		echo '# hello' >> exec-2.sh &&
+		git update-index exec-2.sh &&
+		git commit -m 'éï∏' &&
+		git-svn set-tree HEAD"
 	unset LC_ALL
 else
 	echo "UTF-8 locale not set, test skipped ($GIT_SVN_LC_ALL)"
-- 
1.4.4.3.gd4ada

             reply	other threads:[~2006-12-27  0:27 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-27  0:27 Eric Wong [this message]
2006-12-27  0:27 ` [PATCH 2/2] git-svn: dcommit should diff against the current HEAD after committing Eric Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1167179258485-git-send-email-normalperson@yhbt.net \
    --to=normalperson@yhbt.net \
    --cc=git@vger.kernel.org \
    --cc=junkio@cox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).