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

Re: [PATCH] Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT_DIR

From
Robin Rosenberg <robin.rosenberg.lists@dewire.com>
Date
Feb 11, 2008, 20:58 UTC
Message-ID
<200802112158.16830.robin.rosenberg.lists@dewire.com>
In-Reply-To
<200802110228.05233.johan@herland.net>
måndagen den 11 februari 2008 skrev Johan Herland:
> When using the '-w $cvsdir' option to cvsexportcommit, it will chdir into
> $cvsdir before executing several other git commands. If $GIT_DIR is set to
> a relative path (e.g. '.'), the git commands executed by cvsexportcommit
> will naturally fail with "fatal: Not a git repository".
[...]
Show 7 quoted lines
>  die "Need at least one commit identifier!" unless @ARGV;
>  
>  if ($opt_w) {
> +	# Remember where GIT_DIR is before changing to CVS checkout
>  	unless ($ENV{GIT_DIR}) {
> -		# Remember where our GIT_DIR is before changing to CVS checkout
> +		# Oops no GIT_DIR set. Figure out for ourselves
That's not an "Oops". It's perfectly normal not to have GIT_DIR set.
Show 11 quoted lines
>  		my $gd =`git-rev-parse --git-dir`;
>  		chomp($gd);
> -		if ($gd eq '.git') {
> -			my $wd = `pwd`;Kopia
> -			chomp($wd);
> -			$gd = $wd."/.git"	;
> -		}
> +		$ENV{GIT_DIR} = $gd;
> +	}
> +	unless ($ENV{GIT_DIR} =~ m[^/]) {
> +		# GIT_DIR is relative. Prepend $PWD

Hmm. C:/foo? You should probably use rel2abs in the File::Spec module.

-- robin
Previous: Junio C HamanoNext: Johan Herland
Message 3 of 8 in “Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT_DIR”
  1. Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT_DIRJohan Herland, Feb 11, 2008
  2. Junio C HamanoFeb 11, 2008
  3. Robin RosenbergFeb 11, 2008
  4. Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT_DIRJohan Herland, Feb 11, 2008
  5. Robin RosenbergFeb 12, 2008
  6. Add testcase for 'git cvsexportcommit -w $cvsdir ...' with relative $GIT_DIRJohan Herland, Feb 13, 2008
  7. Junio C HamanoFeb 13, 2008
  8. Jakub NarebskiFeb 13, 2008

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.