Re: Please check the current beta git conversions

From: Ulrich Spörlein <uqs_at_freebsd.org>
Date: Mon, 5 Oct 2020 11:19:38 +0200
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
Uli
Received 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