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

Re: problem with git worktree and git svn

From
Duy Nguyen <pclouds@gmail.com>
Date
Oct 13, 2016, 10:29 UTC
Message-ID
<CACsJy8ADmHLW5ba4bVTGN9ccqpMDNFgkqE_5JvnqZ0BxWcaCvw@mail.gmail.com>
In-Reply-To
<20161013015233.GA18001@whir>
On Thu, Oct 13, 2016 at 8:52 AM, Eric Wong <e@80x24.org> wrote:
Show 8 quoted lines
> +sub svn_dir {
> +       my $git_dir = scalar @_ ? $_[0] : $ENV{GIT_DIR};
> +       my $common = $ENV{GIT_COMMON_DIR} || "$git_dir/commondir";
> +       $git_dir .= '/'.::file_to_s($common) if -e $common;
> +       my $svn_dir = $git_dir . '/svn';
> +       $svn_dir =~ tr!/!/!s;
> +       $svn_dir;
> +}
If this is shell script, this function could be just
svn_dir() {
    git rev-parse --git-path svn
}

which should give you correct path in either single or multi-worktree context and you don't need to bother with details like $GIT_COMMON_DIR. But I don't know how Perl bindings are implemented, I don't know if we have something similar (or easy to add it, like Git::git_path()).

I don't know much about git-svn, but from the look of it I agree replacing $ENV{GIT_DIR}/svn with svn_dir() should fix it, assuming that you don't hard code $ENV{GIT_DIR}/blahblah somewhere else. I don't see any other potential problems (from multi-worktree perspective).

-- 
Duy
Previous: Eric WongNext: Eric Wong
Message 4 of 10 in “problem with git worktree and git svn”
  1. Mathieu ArnoldOct 12, 2016
  2. Stefan BellerOct 12, 2016
  3. Eric WongOct 13, 2016
  4. Duy NguyenOct 13, 2016
  5. Eric WongOct 13, 2016
  6. 0/2 git-svn: implement "git worktree" awarenessEric Wong, Oct 14, 2016
  7. 2/2 git-svn: "git worktree" awarenessEric Wong, Oct 14, 2016
  8. 1/2 git-svn: reduce scope of input record separator changeEric Wong, Oct 14, 2016
  9. Eric WongOct 26, 2016
  10. Junio C HamanoOct 26, 2016

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.