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

Re: [PATCH 2/3] cvsimport: use show-ref to support packed refs

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 28, 2007, 22:23 UTC
Message-ID
<7v4pf63t7y.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<20071128194423.GB11396@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
> Since get_headref is useful in contexts where "$remote" is not always
> prepended (see patch 3/3), I think the best solution is:
...
> +	if ($branch eq $opt_o && !$index{branch} &&
> +		!get_headref("$remote/$branch")) {
> +	my $parent = get_headref("$remote/$last_branch");
> +		if (my $sha1 = get_headref("$remote/$mparent")) {

So the definition of get_headref() is to always take everything under but not including "refs/"? IOW, the tip of the master branch is asked with get_headref("heads/master")?

I think show-ref can easily be confused by its tail matching behaviour, and is a bad command to use in a context like this. To be safe, I think get_headref() should be:

	sub get_headref {
        	my ($it) = (@_);
                my $r = `git-rev-parse --verify "refs/$it"`;
		return undef unless $? == 0;
		chomp $r;
		return $r;
	}
Previous: Johannes SchindelinNext: Jeff King
Message 10 of 16 in “Re: git-cvsimport bug”
  1. Jeff KingNov 28, 2007
  2. 1/3 Add basic cvsimport testsJeff King, Nov 28, 2007
  3. Junio C HamanoNov 28, 2007
  4. David KastrupNov 28, 2007
  5. Andreas EricssonNov 29, 2007
  6. 2/3 cvsimport: use show-ref to support packed refsJeff King, Nov 28, 2007
  7. Johannes SchindelinNov 28, 2007
  8. Jeff KingNov 28, 2007
  9. Johannes SchindelinNov 28, 2007
  10. Junio C HamanoNov 28, 2007
  11. Jeff KingNov 28, 2007
  12. Jeff KingNov 28, 2007
  13. 3/3 cvsimport: miscellaneous packed-ref fixesJeff King, Nov 28, 2007
  14. Junio C HamanoNov 29, 2007
  15. Jeff KingNov 29, 2007
  16. Emanuele GiaquintaNov 30, 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.