Subject: Re: [PATCH] [JGit] Fix parsing peeled line in packed-ref

From: "Shawn O. Pearce" <[email-masked]>
Date: Fri, 6 Mar 2009 07:43:09 -0800

"Daniel Cheng (aka SDiZ)" <[email-masked]> wrote:
> When doing a WalkTransport with packed-ref, peeled
> line are not handled correctly. This patch fix the
> issue.

Wow.  That old code was really wrong.  :-)

Signed-off-by?  (See SUBMITTING_PATCHES, "(5) Sign your work")

> diff --git a/org.spearce.jgit/src/org/spearce/jgit/transport/WalkRemoteObjectDatabase.java b/org.spearce.jgit/src/org/spearce/jgit/transport/WalkRemoteObjectDatabase.java
> index a4f8961..d8e727b 100644
> --- a/org.spearce.jgit/src/org/spearce/jgit/transport/WalkRemoteObjectDatabase.java
> +++ b/org.spearce.jgit/src/org/spearce/jgit/transport/WalkRemoteObjectDatabase.java
> @@ -436,7 +436,7 @@ private void readPackedRefsImpl(final Map<String, Ref> avail,
>  			if (line.charAt(0) == '^') {
>  				if (last == null)
>  					throw new TransportException("Peeled line before ref.");
> -				final ObjectId id = ObjectId.fromString(line + 1);
> +				final ObjectId id = ObjectId.fromString(line.substring(1));
>  				last = new Ref(Ref.Storage.PACKED, last.getName(), last

If I'm at fault for that preimage, I should just be put out to
pasture now... before I do any more harm... *sigh*

-- 
Shawn.