git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/3] git-svn: test for creating new directories over svn://

From
EWEric Wong <normalperson@yhbt.net>
Date
Jun 13, 2007, 09:37 UTC
Message-ID
<11817274282332-git-send-email-normalperson@yhbt.net>
In-Reply-To
<11817274254011-git-send-email-normalperson@yhbt.net>

As reported by Matthieu Moy, this is causing svnserve to terminate connections (because it segfaults) segfault.

This test is disabled by default and can be enabled by setting SVNSERVE_PORT to an unbound (for 127.0.0.1) TCP port in the environment (in addition to SVN_TESTS=1). I'm not comfortable with having a test start a daemon by default and take up a port that could potentially stay running if the test failed.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
---
 t/t9113-git-svn-dcommit-new-file.sh |   40 +++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)
 create mode 100755 t/t9113-git-svn-dcommit-new-file.sh
diff --git a/t/t9113-git-svn-dcommit-new-file.sh b/t/t9113-git-svn-dcommit-new-file.sh
new file mode 100755
index 0000000..9ef0db9
--- /dev/null
+++ b/t/t9113-git-svn-dcommit-new-file.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+# Copyright (c) 2007 Eric Wong
+#
+
+# Don't run this test by default unless the user really wants it
+# I don't like the idea of taking a port and possibly leaving a
+# daemon running on a users system if the test fails.
+# Not all git users will need to interact with SVN.
+test -z "$SVNSERVE_PORT" && exit 0
+
+test_description='git-svn dcommit new files over svn:// test'
+
+. ./lib-git-svn.sh
+
+start_svnserve () {
+	svnserve --listen-port $SVNSERVE_PORT \
+	         --root $rawsvnrepo \
+	         --listen-once \
+	         --listen-host 127.0.0.1 &
+}
+
+test_expect_success 'start tracking an empty repo' "
+	svn mkdir -m 'empty dir' $svnrepo/empty-dir &&
+	echo anon-access = write >> $rawsvnrepo/conf/svnserve.conf &&
+	start_svnserve &&
+	git svn init svn://127.0.0.1:$SVNSERVE_PORT &&
+	git svn fetch
+	"
+
+test_expect_success 'create files in new directory with dcommit' "
+	mkdir git-new-dir &&
+	echo hello > git-new-dir/world &&
+	git update-index --add git-new-dir/world &&
+	git commit -m hello &&
+	start_svnserve &&
+	git svn dcommit
+	"
+
+test_done
-- 
1.5.2.1.243.gbe00
Previous: Eric WongNext: Eric Wong
Message 3 of 4 in “git-svn: several house-keeping fixes”
  1. 0/3 git-svn: several house-keeping fixesEric Wong, Jun 13, 2007
  2. 1/3 git-svn: cleanup: factor out longest_common_path() functionEric Wong, Jun 13, 2007
  3. 2/3 git-svn: test for creating new directories over svn://Eric Wong, Jun 13, 2007
  4. 3/3 git-svn: reduce stat() calls for a backwards compatibility checkEric Wong, Jun 13, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.