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

[PATCH 4/13] git-svn: support manually placed initial trees from fetch

From
EWEric Wong <normalperson@yhbt.net>
Date
Jun 13, 2006, 18:02 UTC
Message-ID
<11502217403634-git-send-email-normalperson@yhbt.net>
In-Reply-To
<11502217352245-git-send-email-normalperson@yhbt.net>

Sometimes I don't feel like downloading an entire tree again when I actually decide a branch is worth tracking, so some users can get around it more easily with this.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
---
 contrib/git-svn/git-svn.perl |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/contrib/git-svn/git-svn.perl b/contrib/git-svn/git-svn.perl
index d4b9323..54f3d63 100755
--- a/contrib/git-svn/git-svn.perl
+++ b/contrib/git-svn/git-svn.perl
@@ -262,7 +262,14 @@ sub fetch {
 	} else {
 		chdir $SVN_WC or croak $!;
 		read_uuid();
-		$last_commit = file_to_s("$REV_DIR/$base->{revision}");
+		eval { $last_commit = file_to_s("$REV_DIR/$base->{revision}") };
+		# looks like a user manually cp'd and svn switch'ed
+		unless ($last_commit) {
+			sys(qw/svn revert -R ./);
+			assert_svn_wc_clean($base->{revision});
+			$last_commit = git_commit($base, @parents);
+			assert_tree($last_commit);
+		}
 	}
 	my @svn_up = qw(svn up);
 	push @svn_up, '--ignore-externals' unless $_no_ignore_ext;
-- 
1.4.0
Previous: Eric WongNext: Eric Wong
Message 5 of 14 in “git-svn: better branch support, SVN:: lib usage, feature additions”
  1. 0/13 git-svn: better branch support, SVN:: lib usage, feature additionsEric Wong, Jun 13, 2006
  2. 1/13 git-svn: support -C<num> passing to git-diff-treeEric Wong, Jun 13, 2006
  3. 2/13 git-svn: --branch-all-refs / -B supportEric Wong, Jun 13, 2006
  4. 3/13 git-svn: optimize --branch and --branch-all-refEric Wong, Jun 13, 2006
  5. 4/13 git-svn: support manually placed initial trees from fetchEric Wong, Jun 13, 2006
  6. 5/13 git-svn: Move all git-svn-related paths into $GIT_DIR/svnEric Wong, Jun 13, 2006
  7. 6/13 git-svn: minor cleanups, extra error-checkingEric Wong, Jun 13, 2006
  8. 7/13 git-svn: add --repack and --repack-flags= optionsEric Wong, Jun 13, 2006
  9. 8/13 git-svn: add --shared and --template= options to pass to init-dbEric Wong, Jun 13, 2006
  10. 9/13 git-svn: add some functionality to better support branches in svnEric Wong, Jun 13, 2006
  11. 10/13 git-svn: add UTF-8 message testEric Wong, Jun 13, 2006
  12. 11/13 git-svn: add 'log' command, a facsimile of basic `svn log'Eric Wong, Jun 13, 2006
  13. 12/13 git-svn: add support for Perl SVN::* librariesEric Wong, Jun 13, 2006
  14. 13/13 git-svn: make the $GIT_DIR/svn/*/revs directory obsoleteEric Wong, Jun 13, 2006

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.