Date: Wed, 23 Dec 2020 11:34:08 +0100 From: Ulrich =?utf-8?B?U3DDtnJsZWlu?= <uqs@freebsd.org> To: Bakul Shah <bakul@iitbombay.org> Cc: David Wolfskill <david@catwhisker.org>, freebsd-git@freebsd.org Subject: Re: Src repository is available on git.freebsd.org Message-ID: <X%2BMdIKU3fPQxwU%2BJ@acme.spoerlein.net> In-Reply-To: <0C3B8F33-851B-4513-815A-09F33EF96DE8@iitbombay.org> References: <CAKBkRUwDdBJcrY0vj-WB_=pmyezq592E%2BJ-PULXO9tD4skkcCA@mail.gmail.com> <1527634C-4E31-4325-BB93-BDFF0C8ADB8C@iitbombay.org> <X%2BJtOK1HU4l7JU5B@albert.catwhisker.org> <0C3B8F33-851B-4513-815A-09F33EF96DE8@iitbombay.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 2020-12-22 at 14:18:10 -0800, Bakul Shah wrote: >On Dec 22, 2020, at 2:03 PM, David Wolfskill <david@catwhisker.org> wrote: >> >> On Tue, Dec 22, 2020 at 01:51:39PM -0800, Bakul Shah wrote: >>> I have been tracking cgit-beta.freebsd.org since September. >>> What is the process for switching over to git.freebsd.org? >>> I thought there were instructions for that but I can't find them any more! >>> Thanks. >>> .... >> >> I aqssumed(!) that the hashes would be different, so I moved aside the >> repo I had from cgit-beta and cloned a new one (from git.freebsd/org), >> then removed the old one once I was satisfied that the new one was OK. > >Forgot to add that I wanted to switch over *without* blowing away 3.2GB >of local git bits. Hashes shouldn't change unless something major got >redone. Comparing hashes from my local repo with https://cgit.freebsd.org/src/commit/ >I see they are the same. 3.2GB sounds wrong, it looks like you have the new hashes and the old hashes and no GC run in between. This is expected and would fix itself over time, you might want to compress things down to 1.6GB however, using: git gc --prune=now BEWARE: that you don't have any loose refs that you still might need later on. If all your changes are in regular branches and you didn't go wild with rebase -i or anything, then this should be safe. To not re-download everything, use --reference to point to an existing clone, that is: git clone --reference /path/to/old/clone https://git.FreeBSD.org/src.git /path/to/new/clone You could also: git init git add remote .... cp the objects/* files over to the new repo git fetch >> A couple of caveats: >> * I'm not a committer; I merely use the repo a a "source of truth" for >> updating machines locally, and I never have any commits to be pushed >> anywhere. > >Same here. > >> >> * I actually used "git clone --mirror" (as noted in >> https://www.catwhisker.org/~david/FreeBSD/repo-sync.html); I then >> clone from that mirror to make working copies. There are certainly >> other ways to accomplish this; some may be better for some folks. > >I don't quite do this because I am tracking -current and -stable locally >and am using worktrees so as to avoid keeping multiple local git copies. >AFAIK a mirror would blow away any local changes. I think you're right, for that a single --bare clone (not --mirror) plus workspaces and local branches sounds more applicable. Cheers Uli
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?X%2BMdIKU3fPQxwU%2BJ>