git setup/usage question

Mark Millard marklmi at yahoo.com
Tue Jan 26 23:15:32 UTC 2021



On 2021-Jan-26, at 14:13, Milan Obuch <freebsd-git at dino.sk> wrote:

> On Tue, 26 Jan 2021 12:51:43 -0800, Mark Millard <marklmi at yahoo.com>
> wrote:
> 
>> Milan Obuch freebsd-git at dino.sk wrote on
>> Tue Jan 26 14:10:29 UTC 2021 :
>> 
>>> # git clone --config
>>> remote.freebsd.fetch='+refs/notes/*:refs/notes/*' --bare
>>> https://git.freebsd.org/src.git /mnt/src/.git # git -C
>>> /mnt/src/.git worktree add /mnt/src/main main # git -C
>>> /mnt/src/.git worktree add /mnt/src/13 stable/13 # git -C
>>> /mnt/src/.git worktree add /mnt/src/12 stable/12 # git -C
>>> /mnt/src/.git worktree add /mnt/src/11 stable/11  
>> . . .
>>> # git -C /mnt/src/.git merge
>>> fatal: this operation must be run in a work tree
>>> 
>>> I am a bit stuck now. What does it mean 'being in a work tree'?
>>> Doing 'cd /mnt/src/main' or similar before git command does not
>>> change anything. I read 'man git-merge' but still no clue. It must
>>> be something simple, I just do not see it.  
>> 
>> man git reports:
>> 
>>       -C <path>
>>           Run as if git was started in <path> instead of the current
>> working directory. . . .
>> 
>> So it looks to me like you need to do one or
>> more of something like:
>> 
>> # git -C /mnt/src/main merge
>> # git -C /mnt/src/stable/13 merge
>> # git -C /mnt/src/stable/12 merge
>> # git -C /mnt/src/stable/11 merge
>> 
>> /mnt/src/.git is not a working directory.
>> 
> 
> [ snip ]
> 
> Thanks for hints, this does explain a bit from what I see, however
> something is still missing.

By the way, the modern version of Warner's documentation
is at:

https://github.com/bsdimp/freebsd-git-docs/

and is the basis for the documentation update FreeBSD
will have in this area.

In the Cloning and Mirroring section of:

https://github.com/bsdimp/freebsd-git-docs/blob/main/faq.md

there is a little material about issues with using pare repos.
The Users section basically says that using bare will not be
documented. (I've never tired to use a bare repo.)

> When I tried what you wrote
> 
> # git -C /mnt/src/main merge
> 
> or what I made from reading man pages and Git Book referenced in Git
> Primer,
> 
> # git -C /mnt/src/.git --work-tree /mnt/src/main merge
> 
> all I get is
> 
> fatal: No remote for the current branch.

The "No staged changed migration" section of:

https://github.com/bsdimp/freebsd-git-docs/blob/main/src-cvt.md

reports on using the following to clone with the ref/notes related
material included:

git clone -o freebsd --config remote.freebsd.fetch='+refs/notes/*:refs/notes/*' https://git.freebsd.org/src.git freebsd-src

Note the "-o freebsd" that you did not use. The coning notes
in:

https://github.com/bsdimp/freebsd-git-docs/blob/main/mini-primer.md

also use the "-o freebsd" (but not the refs/notes related material).

> so evidently no merge is actually done. Something in my setup is wrong
> or missing. It's late here now, tomorrow will be another day to try
> something :)

I recommend reading:

https://github.com/bsdimp/freebsd-git-docs/blob/main/mini-primer.md
and:
https://github.com/bsdimp/freebsd-git-docs/blob/main/src-cvt.md

and in using the conventions documented, such as result from
"-o freebsd".

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)



More information about the freebsd-git mailing list