Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Oct 2020 15:35:31 -0700
From:      David Wolfskill <david@catwhisker.org>
To:        Ulrich =?iso-8859-1?Q?Sp=F6rlein?= <uqs@freebsd.org>
Cc:        git@freebsd.org
Subject:   Re: Question on (my) workflow migration svn -> git
Message-ID:  <20201003223531.GA77534@albert.catwhisker.org>
In-Reply-To: <20200926124212.GL92039@acme.spoerlein.net>
References:  <20200924201715.GR1390@albert.catwhisker.org> <20200924205326.GB64154@spindle.one-eyed-alien.net> <CAJ9axoR=0zPxUSF-wH-ZT%2BeeHN3-ZB%2B=M6NcbWR1zKncU2m%2BKA@mail.gmail.com> <20200926020946.GK1390@albert.catwhisker.org> <20200926124212.GL92039@acme.spoerlein.net>

next in thread | previous in thread | raw e-mail | index | archive | help

--ikeVEW9yuYc//A+q
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Sep 26, 2020 at 02:42:12PM +0200, Ulrich Sp=F6rlein wrote:
> ...
> Please start from this and only this:
>=20
>   git clone --bare https://cgit-beta.freebsd.org/src.git

As noted earlier, that seems to have worked.  However, subsequent to
your "Heads up: beta git repo hashes changing this weekend" notice, I
attempted a "git fetch" within that bare repo, and -- as I ratehr
expected, git was ... singularly unhappy about the exercise.

So I blew that old one (and its associated worktrees) away -- at this
point, I am experimenting and trying to get all the "breaking stuff" out
of my system before I actually need to use got.

Looking at the output of "git help clone", it seemed to me that
"--mirror" (which is claimed to imply "--bare") might be ... reasonable:

|   --mirror
|       Set up a mirror of the source repository. This implies --bare.
|       Compared to --bare, --mirror not only maps local branches of the
|       source to local branches of the target, it maps all refs (including
|       remote-tracking branches, notes etc.) and sets up a refspec
|       configuration such that all these refs are overwritten by a git
|       remote update in the target repository.

since I want to have a mirror of the FreeBSD repo, after all.

I then re-created the "head" and "stable_12" worktrees.  (This was
back on 20 September.)

I left it alone until a few minutes ago, when I did:

* cd /repo/git/freebsd/src.git/
* git show		# to see what it would do; it showed a commit
			# log entry from Cy Schubert
* git fetch --all

I kinda guessed on that last, but it pulled some data for a while,
spewed some status-type messages, and exited status code 0.

* git show		# Now showed a commit log entry from Emmanuel
			# Vadot

so that seems like it might be progress.

The worktress, now, if I try "git status", claim that there's a large
number of "Changes to be committed:" -- but the most recently-updated
file in the worktree has an mtime of "Sep 30 20:31:50 2020".

But "git log" shows (e.g., in the stable12 worktree):

| commit 4015a56f10fd83a4f222f5c34e63c15d7fea272f (HEAD -> stable/12)
| Author: Kyle Evans <kevans@FreeBSD.org>
| Date:   Sat Oct 3 13:27:57 2020 +0000
|=20
|     MFC r361254: Fix Typo in ng_hci_le_connection_complete_ep struct.
|    =20
|     PR:             246538
|=20
| Notes:
|     svn path=3D/stable/12/; revision=3D366395

And it seems that "git pull" (as such) doesn't work with worktrees:

| g1-48(12.2-S)[22] git pull
| There is no tracking information for the current branch.
| Please specify which branch you want to merge with.
| See git-pull(1) for details.
|=20
|     git pull <remote> <branch>
|=20
| If you wish to set tracking information for this branch you can do so wit=
h:
|=20
|     git branch --set-upstream-to=3Dorigin/<branch> stable/12
|=20
| g1-48(12.2-S)[23]=20

Trying to look up information about git worktrees, I find examples of
transient worktrees -- they are created, code is devloped, committed,
and pushed, and the worktree is destroyed.  If a new one is wanted, it
is created.

That is not waht I'm trying to do.  I am trying to have a (separate)
working copy (for each branch I use) that persists from day to day, and
which I update from the repo shortly before I rebuild FreeBSD.

> The worktree stuff is then as simple as this:
>=20
> % cd src.git
> % git show-ref|grep stable.12
> e9c4330183dcfe8a5d26843613adc0a348fd0544 refs/heads/stable/12
> % git worktree add ../stable_12 stable/12
> Preparing worktree (checking out 'stable/12')
> Updating files: 100% (81262/81262), done.
> HEAD is now at e9c4330183d MFC r360483,360484: Make nvmecontrol work
> with nda like it does with nvd, and associated bits.
> % git worktree add ../current main

Yes -- asa noted above, the "git worktree add ..." seems to have worked.

Thank you. :-)

> ....=20

Peace,
david
--=20
David H. Wolfskill				david@catwhisker.org
Donald Trump is just in it for the publicity (well, and the money).

See http://www.catwhisker.org/~david/publickey.gpg for my public key.

--ikeVEW9yuYc//A+q
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQGTBAEBCgB9FiEE4owz2QxMJyaxAefyQLJg+bY2PckFAl94/LNfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUy
OEMzM0Q5MEM0QzI3MjZCMTAxRTdGMjQwQjI2MEY5QjYzNjNEQzkACgkQQLJg+bY2
Pckx7ggAuASeCPpvPu+yrJJhMgLeaOFSiFyuHsZ+EUfbVfF892YEtfErofP5sN7p
XRhOoX7PXGE+qOOG2s3Wxwbvtxbnc4ML2G0V4k7c5t1PRGIIXVxeKomKUsJrSbkY
cZVUIvmuE/5IvXseGwtA570CGPZG7BfMfO0bTs7+m3u+rLdUsBFrqdv48Po68mKl
DOXzuFkjdn1jgwinhioftTr2HTeRx8NaiL1WJ5fzfWmXcr9b129Buk7M9DL0be7q
SESK2cBFbx6+n5aUkn0JMtudvdZrQrOXkx8enEHaGcNhoxKVx2xJKdFbjtHUnXS5
44bPPgN1a9NqF62X/TsB3Xrrk19wVA==
=6/D3
-----END PGP SIGNATURE-----

--ikeVEW9yuYc//A+q--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20201003223531.GA77534>