From: Martin von Zweigbergk Date: Thu, 16 Oct 2025 17:12:21 GMT Subject: Re: [PATCH] BreakingChanges: say that `git diff X..Y` syntax will be removed in 3.0 Message-ID: In-Reply-To: On Thu, 16 Oct 2025 at 10:02, Kristoffer Haugsbakk wrote: > > On Thu, Oct 16, 2025, at 18:38, Martin von Zweigbergk wrote: > > On Thu, 16 Oct 2025 at 06:44, Junio C Hamano wrote: > >>[snip] > >> > >> The same for "git checkout master..." that detaches HEAD at the > >> fork point of the current topic (so that I can "git am" in a new > >> iteration of patches on top). > > > > I couldn't get this to work: > > > > $ git checkout main... -- > > fatal: invalid reference: main... > > `git checkout X...` works for me. Apparently it is this part of the > doc: “As a special case, you may use ... [...]” Oh, I think I know what the problem is. The reason I tried it was that I was curious how it would behave when there are multiple merge bases, so I had set up a repo like that. Then I got this: ``` $ git checkout main... error: pathspec 'main...' did not match any file(s) known to git $ git checkout main... -- fatal: invalid reference: main... ``` I didn't expect those messages to mean "the common ancestor is ambiguous" so I didn't think to try with an unambiguous common ancestor. > > > > > But don't worry about it. I think your point about there being other > > commands that support the triple-dot syntax is still valid. > > > >> As the syntax "git diff master..." > >> is symmetric with it, if one were to change, both should change to > >> the same. > >[snip]