git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: not robust inconsistent git 2.40.1 with HEAD -> master, origin/main, origin/HEAD, origin/master, main

From
CCarlos <kaploceh@gmail.com>
Date
May 31, 2023, 22:36 UTC
Message-ID
<kewfqedoob2cptihhxoe6pp4jj63pw7qcldqvmb52cg7fbhzv5@xypplc3psbv5>
In-Reply-To
<a7xmox7j6katje62wx6hhclb7itfbhxnda44s4ve7g3cjyzm6j@2tosx6g6cpgv>
On Wed, May 31, 2023 at 05:35:58PM -0400, Carlos wrote:
Show 83 quoted lines
> On Wed, May 31, 2023 at 02:22:59PM +0100, Philip Oakley wrote:
> > On 31/05/2023 11:57, Philip Oakley wrote:
> > > On 30/05/2023 19:14, Carlos wrote:
> > >> Running git 2.40.1 with HEAD -> master, origin/main, origin/HEAD, origin/master, main with initial commit on main does not show all the objects from master
> > >>
> > >>
> > >> ! [main] Initial commit
> > >>  * [master] Initial commit
> > >>   ! [origin/master] Initial commit
> > >> ---
> > >> +*+ [main] Initial commit
> > >>
> > > 
> > > this is the output of `git show-branch` [1] which has its own special
> > > display format. It's not often used these days.
> > > 
> > > The `!` are column markers, as is `*` for the current branch.
> > > You have three branches listed
> > > Then you have the `---` divider
> > > 
> > > Finally you has the single commit, showing which branches the commit is
> > > 'on'.
> > > 
> > > Be careful to discriminate between being 'on' a branch (at it's tip, by
> > > name); 'at' an oid (object id / hash); and `in` a branch (below its
> > > tip); etc.
> > > 
> > > 
> > > [1] https://git-scm.com/docs/git-show-branch
> > > 
> > >> the chunk of objects are on master and not main, and yet it shows
> > >> nothing once checking out to master. 
> > >>
> > >> the git-clone operation is not consistent either. It's a disaster.
> > >>
> > >> One would think that by now with the more developed work put on to git, it'd
> > >> be safe to assume the more sense there's on newer versions. But no. This
> > >>  is the opposite actually. 
> > >>
> > >> Now. If by any chance the git-branch operation were to return:
> > >>
> > >>   main
> > >> * master
> > >>
> > >> after git-clone, then objects are indeed in place. That is. On master
> > >>
> > >> but not if git-branch returns 
> > >>
> > >>   main
> > >> * master
> > >>   origin/master
> > >>
> > 
> > You may have accidentally created a local branch called `origin/master`
> > which you are now confusing with the (unlisted) remote tracking branches.
> > 
> 
> if the remotes are in place, 
> 
>   main
> * master
>   origin/master
>   remotes/origin/HEAD -> origin/main
>   remotes/origin/main
>   remotes/origin/master
> 
> 
> what exactly is origin/master doing there? even by assuming I created it
> (which I didn't but let's say I did) then:
> 
> git checkout origin/master
> 
> warning: refname 'origin/master' is ambiguous.
> Switched to branch 'origin/master'
> 
> confirms it that given the above, it follows that `git checkout
> origin/master` would fail to create and to be in quote  in 'detached
> HEAD' state. To look around, make experimental changes and commit them,
> and to discard any commits one makes in this state without impacting
> any branches by switching back to a branch` . blah blah blah
> 
> as does the one without the origin/master , right? 
> 
Fe de errata:

*unlike the one without the origin/master, which *successfully* does, as shown below:

Show 41 quoted lines
> Now, if I were to do the same under the worktree (the tree holding the
> contents correctly on both main and master, right?) with git branch -ra:
> 
> 
>   main
> * master
>   remotes/origin/HEAD -> origin/main
>   remotes/origin/main
>   remotes/origin/master
> 
> which behaves accordingly
> 
> * (HEAD detached at origin/master)
>   main
>   master
>   remotes/origin/HEAD -> origin/main
>   remotes/origin/main
>   remotes/origin/master
> 
> 
> > What does
> > 
> > 	git branch -ra
> > 
> > produce?
> > 
> > It will show the local branches first, and then your
> > `remotes/repo/branches` list (probably colourised).
> > 
> > This should help confirm what you have.
> > >>
> > >>
> > > Philip
> > P.
> > 
> 
> -- 
> Modeling paged and segmented memories is tricky business.
> 		-- P. J. Denning
> 
> 
-- 
Put no trust in cryptic comments.
Previous: Carlos
Message 6 of 6 in “not robust inconsistent git 2.40.1 with HEAD -> master, origin/main, origin/HEAD, origin/master, main”
  1. CarlosMay 30, 2023
  2. Kristoffer HaugsbakkMay 31, 2023
  3. Philip OakleyMay 31, 2023
  4. Philip OakleyMay 31, 2023
  5. CarlosMay 31, 2023
  6. CarlosMay 31, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.