Subject: Re: Updating shared ref from remote helper, or fetch hook

From: Jed Brown <[email-masked]>
Date: Wed, 30 Jan 2013 02:06:41 -0600

Jed Brown <[email-masked]> writes:

> I'm working on an hg remote helper that uses git notes for the sha1
> revision, so that git users can more easily refer to specific commits
> when communicating with hg users.  Since there may be multiple
> concurrent fast-import streams, I write the notes to a private ref
> (refs/notes/hg-REMOTE), to be merged eventually using
>
>   git notes --ref hg merge hg-REMOTE*

A related issue is that when a remote helper replies to an 'import' with
_only_ a commit in refs/notes/, git (fetch or pull) produces an error
message like

  error: refs/notes/hg-84b3865b750a567acb16929c21e14c4a45a5639b does not point to a valid object

but successfully updates the ref (which is indeed valid) and returns
0. I have not been able to determine what exactly git thinks is
invalid. As long as there is at least one non-notes commit in the
stream, no such error message is produced.

Is this behavior intended?