# Save notes state when releasing

3 messages from 2013-09-20 to 2013-09-23. Participants: Francis Moreau, Jeff King.
Thread: https://gitlist.dev/t/34971

## Francis Moreau, 2013-09-20 05:38

Subject: Save notes state when releasing
Message-ID: <CAC9WiBh3ha61M789DL==Nch30P_mvGwDLODqNzwaAbmHtyhPkQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAC9WiBh3ha61M789DL%3D%3DNch30P_mvGwDLODqNzwaAbmHtyhPkQ%40mail.gmail.com

```
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, 2013-09-20 10:34

Subject: Re: Save notes state when releasing
Message-ID: <20130920103401.GB21684@sigill.intra.peff.net>
URL: https://gitlist.dev/e/20130920103401.GB21684%40sigill.intra.peff.net
In-Reply-To: <CAC9WiBh3ha61M789DL==Nch30P_mvGwDLODqNzwaAbmHtyhPkQ@mail.gmail.com>

```
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.

-Peff

```

## Francis Moreau, 2013-09-23 07:25

Subject: Re: Save notes state when releasing
Message-ID: <CAC9WiBiOAediWzgLsjcH=gorwtzrUSHumZQ3f8xk3gsestyXMw@mail.gmail.com>
URL: https://gitlist.dev/e/CAC9WiBiOAediWzgLsjcH%3DgorwtzrUSHumZQ3f8xk3gsestyXMw%40mail.gmail.com
In-Reply-To: <20130920103401.GB21684@sigill.intra.peff.net>

```
On Fri, Sep 20, 2013 at 12:34 PM, Jeff King <peff@peff.net> wrote:
> 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

```
