On Sun, Oct 4, 2020 at 1:53 AM Bakul Shah <bakul_at_iitbombay.org> wrote: > FWIW, I have a bare repo with the following config file > > [core] > repositoryformatversion = 0 > filemode = true > bare = true > logallrefupdates = true > [remote "origin"] > url = https://cgit-beta.freebsd.org/src.git > fetch = +refs/heads/*:refs/remotes/origin/* > fetch = +refs/notes/*:refs/notes/* > [branch "main"] > remote = origin > merge = refs/heads/main > > /usr/src is a worktree and everything seems to be working fine. > > I manually converted to a bare repo (first testing this with a much > smaller repo) and fixed up various refs. But probably safer to > just start from scratch: > > git clone --bare https://cgit-beta.freebsd.org/src.git > cd src.git > git fetch origin 'refs/notes/*:refs/notes/origin/*' # <<< not sure about > this.... > # don't recall if I manually added the second fetch line in the > config file. > # but notes get fetched fine; though I don't understand why 100MB+ > get > # downloaded every time even though only a few files change. > This is a quirk of the conversion. We have to patch up several tags post-conversion, which patches up their notes, but that happens after the full conversion is done. Notes are just 1 long linear branch, which ... well, is unfortunate. So essentially every update to the repo changes the last couple hundred of hashes for the commit notes objects/tree/DAG/linear train. They always need to get force-pushed upstream and you always have to re-fetch quite a bunch of them. This will all cease with the final transition, obviously. hth UliReceived on Mon Oct 05 2020 - 07:19:52 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:25 UTC