threads / discuss / 34971

Save notes state when releasing

Subject: Save notes state when releasing

## tl;dr

3 messages between Sep 20, 2013 and Sep 23, 2013.

replies: 2people: 2as markdown or json

Francis Moreau· Sep 20, 2013, 05:38 UTC · lore
Hello,

I'm using notes in my project. I'm wondering if it's possible to save the state of the notes when I'm releasing/tagging a new version of my project so I can restore the saved notes state if I checkout back the old release.

Therefore I would be able to inspect notes (which may have been removed or modified after the release) as they were when the release happened.

Thanks
-- 
Francis
Jeff King· Sep 20, 2013, 10:34 UTC · re: Francis Moreau · lore

Re: Save notes state when releasing

On Fri, Sep 20, 2013 at 07:38:17AM +0200, Francis Moreau wrote:
Show 8 quoted lines
> I'm using notes in my project. I'm wondering if it's possible to save
> the state of the notes when I'm releasing/tagging a new version of my
> project so I can restore the saved notes state if I checkout back the
> old release.
> 
> Therefore I would be able to inspect notes (which may have been
> removed or modified after the release) as they were when the release
> happened.

The notes are stored as git trees, so you can point a "tag" ref at a particular state, just as you would with a normal branch. The "git tag" command expects to create refs under "refs/tags", whereas "git notes" expects to find notes under "refs/notes". The simplest thing is to just use "git update-ref" rather than "git tag" to create the pointer. Like:

  $ git update-ref refs/notes/v1.0 refs/notes/commits
and then you can always view the v1.0 notes as:
  $ git --notes=v1.0 log

You can even set the notes.displayRef config to always show v1.0 notes when they are available for a commit. Though if they are a subset of the current notes, you would expect to see duplicates. Depending on what you are storing in your notes, you may want to clean out your notes tree after the release.

-Peff
Francis Moreau· Sep 23, 2013, 07:25 UTC · re: Jeff King · lore

Re: Save notes state when releasing

On Fri, Sep 20, 2013 at 12:34 PM, Jeff King <peff@peff.net> wrote:
Show 28 quoted lines
> On Fri, Sep 20, 2013 at 07:38:17AM +0200, Francis Moreau wrote:
>
>> I'm using notes in my project. I'm wondering if it's possible to save
>> the state of the notes when I'm releasing/tagging a new version of my
>> project so I can restore the saved notes state if I checkout back the
>> old release.
>>
>> Therefore I would be able to inspect notes (which may have been
>> removed or modified after the release) as they were when the release
>> happened.
>
> The notes are stored as git trees, so you can point a "tag" ref at a
> particular state, just as you would with a normal branch. The "git tag"
> command expects to create refs under "refs/tags", whereas "git notes"
> expects to find notes under "refs/notes". The simplest thing is to just
> use "git update-ref" rather than "git tag" to create the pointer. Like:
>
>   $ git update-ref refs/notes/v1.0 refs/notes/commits
>
> and then you can always view the v1.0 notes as:
>
>   $ git --notes=v1.0 log
>
> You can even set the notes.displayRef config to always show v1.0 notes
> when they are available for a commit. Though if they are a subset of the
> current notes, you would expect to see duplicates. Depending on what you
> are storing in your notes, you may want to clean out your notes tree
> after the release.
Thank you Jeff, that's what I was needing.
-- 
Francis

← back to recent threads