|
Hi list,
I've been playing recently with git notes and figured out how to push my notes to my central gitolite server, tweaking .git/config in this way (adding a push section): [remote "gitolite"] url = gitolite:daat fetch = +refs/heads/*:refs/remotes/gitolite/* push = +refs/notes/*:refs/notes/* When trying to to a 'git clone --mirror' from that same gitolite server, I was expecting to get back refs/notes, but I did not. Did I miss something or git notes are actually not meant to be cloned/pulled? -- Christian -- http://detaolb.sourceforge.net/, a linux distribution for Qemu with Git inside ! -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [hidden email] More majordomo info at http://vger.kernel.org/majordomo-info.html |
|
Christian MICHON venit, vidit, dixit 24.06.2010 10:22:
> Hi list, > > I've been playing recently with git notes and figured out how to push > my notes to my central gitolite server, tweaking .git/config in this > way (adding a push section): > > [remote "gitolite"] > url = gitolite:daat > fetch = +refs/heads/*:refs/remotes/gitolite/* > push = +refs/notes/*:refs/notes/* > > When trying to to a 'git clone --mirror' from that same gitolite > server, I was expecting to get back refs/notes, but I did not. > > Did I miss something or git notes are actually not meant to be cloned/pulled? > As you can see from the default "fetch" line above, "refs/heads" are fetched by default (when cloning, fetching etc.), but nothing else (well, besides some tags). You can set up an additional fetch refspec to get the notes also. It's not done by default because it's up to you decide what to do with the notes. Sometimes, you want them to end up in "refs/notes" so that they are displayed by default. But maybe you want them in "refs/notes/remotes/gitolites" e.g. and display them only on request (--show-notes=remotes/gitolite), or merge them into your own notes. Michael -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [hidden email] More majordomo info at http://vger.kernel.org/majordomo-info.html |
|
On Thu, Jun 24, 2010 at 11:48 AM, Michael J Gruber
<[hidden email]> wrote: > As you can see from the default "fetch" line above, "refs/heads" are > fetched by default (when cloning, fetching etc.), but nothing else > (well, besides some tags). You can set up an additional fetch refspec to > get the notes also. I'm actually doing a fresh clone elsewhere, using 'git clone --mirror gitolite:daat'. I was expecting to grab everything from the remote refs, as in this case my .git/config will look like this: [remote "origin"] fetch = +refs/*:refs/* mirror = true url = gitolite:daat > It's not done by default because it's up to you decide what to do with > the notes. Sometimes, you want them to end up in "refs/notes" so that > they are displayed by default. But maybe you want them in > "refs/notes/remotes/gitolites" e.g. and display them only on request > (--show-notes=remotes/gitolite), or merge them into your own notes. > So the * in .git/config was misleading me. Instead I changed the fetch to this after the original clone, then performed an incremental fetch and it worked. [remote "origin"] fetch = +refs/heads/*:refs/notes/* mirror = true url = gitolite:daat Thanks for the hint, Michael! -- Christian -- http://detaolb.sourceforge.net/, a linux distribution for Qemu with Git inside ! -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [hidden email] More majordomo info at http://vger.kernel.org/majordomo-info.html |
|
Christian MICHON venit, vidit, dixit 24.06.2010 14:25:
> On Thu, Jun 24, 2010 at 11:48 AM, Michael J Gruber > <[hidden email]> wrote: >> As you can see from the default "fetch" line above, "refs/heads" are >> fetched by default (when cloning, fetching etc.), but nothing else >> (well, besides some tags). You can set up an additional fetch refspec to >> get the notes also. > > I'm actually doing a fresh clone elsewhere, using 'git clone --mirror > gitolite:daat'. You didn't say "--mirror" before ;) > > I was expecting to grab everything from the remote refs, as in this > case my .git/config will look like this: > [remote "origin"] > fetch = +refs/*:refs/* > mirror = true > url = gitolite:daat Hmmh. I have notes in the standard "refs/notes/commits", push them into that same ref on the remote side (using an additional push refspec). When I "clone --mirror" that I do get them back in "refs/notes/commits" in the (bare) mirror repo. > [remote "origin"] > fetch = +refs/heads/*:refs/notes/* > mirror = true > url = gitolite:daat > > Thanks for the hint, Michael! > I'm glad it helped though I don't know why... Did you push the notes into head refs? Comparing the output of git ls-remote gitolite:daat to that of "git show-ref" in you local repos (the original one and the mirror) may clear things up quite a bit. Cheers, Michael -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [hidden email] More majordomo info at http://vger.kernel.org/majordomo-info.html |
|
On Thu, Jun 24, 2010 at 3:16 PM, Michael J Gruber
<[hidden email]> wrote: > Christian MICHON venit, vidit, dixit 24.06.2010 14:25: >> On Thu, Jun 24, 2010 at 11:48 AM, Michael J Gruber >> <[hidden email]> wrote: >>> As you can see from the default "fetch" line above, "refs/heads" are >>> fetched by default (when cloning, fetching etc.), but nothing else >>> (well, besides some tags). You can set up an additional fetch refspec to >>> get the notes also. >> >> I'm actually doing a fresh clone elsewhere, using 'git clone --mirror >> gitolite:daat'. > > You didn't say "--mirror" before ;) yes I did... "When trying to to a 'git clone --mirror' from that same gitolite"... > >> >> I was expecting to grab everything from the remote refs, as in this >> case my .git/config will look like this: >> [remote "origin"] >> fetch = +refs/*:refs/* >> mirror = true >> url = gitolite:daat > > Hmmh. I have notes in the standard "refs/notes/commits", push them into > that same ref on the remote side (using an additional push refspec). > When I "clone --mirror" that I do get them back in "refs/notes/commits" > in the (bare) mirror repo. > >> [remote "origin"] >> fetch = +refs/heads/*:refs/notes/* >> mirror = true >> url = gitolite:daat >> >> Thanks for the hint, Michael! >> > > I'm glad it helped though I don't know why... > > Did you push the notes into head refs? yes apparently I did. I thought it did help, I must have pushed the wrong way originally. I'll fix that. Actually --mirror works fine and I'm actually getting the commit linked to the notes. thanks for double checking. -- Christian -- http://detaolb.sourceforge.net/, a linux distribution for Qemu with Git inside ! -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [hidden email] More majordomo info at http://vger.kernel.org/majordomo-info.html |
| Powered by Nabble | Edit this page |
