* git-last-modified on bare repository @ 2026-01-05 13:35 Gusted 2026-01-05 15:03 ` Patrick Steinhardt 0 siblings, 1 reply; 11+ messages in thread From: Gusted @ 2026-01-05 13:35 UTC (permalink / raw) To: git Hi, Now trying to actually make Forgejo use git last-modified after being pointed to the non-yet-documented options but I quickly noticed that it looks like it does not work as intended on bare repositories when looking specifying files. $ git clone https://codeberg.org/Gusted/math-accuracy $ cd math-accuracy $ git last-modified -- LICENSES 768f05837e7db2832425bc3b65d0f524e81b2769 LICENSES And on a bare repository: $ git clone --bare https://codeberg.org/Gusted/math-accuracy $ cd math-accuracy.git $ git last-modified -- LICENSE fatal: ambiguous argument 'LICENSE': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' Is a worktree required for this to work? Because it was talking about revision, I quickly checked a refspec as input and it looks like I found another way to trigger a BUG. $ git last-modified -- HEAD:LICENSES BUG: builtin/last-modified.c:456: paths remaining beyond boundary in last-modified [1] 202076 IOT instruction (core dumped) git last-modified -- HEAD:LICENSES On the bare and non-bare repository. Kind Regards Gusted ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: git-last-modified on bare repository 2026-01-05 13:35 git-last-modified on bare repository Gusted @ 2026-01-05 15:03 ` Patrick Steinhardt 2026-01-05 15:06 ` Gusted ` (2 more replies) 0 siblings, 3 replies; 11+ messages in thread From: Patrick Steinhardt @ 2026-01-05 15:03 UTC (permalink / raw) To: Gusted; +Cc: git, Toon Claes On Mon, Jan 05, 2026 at 02:35:56PM +0100, Gusted wrote: > Hi, > > Now trying to actually make Forgejo use git last-modified after being > pointed to the non-yet-documented options but I quickly noticed that it > looks like it does not work as intended on bare repositories when looking > specifying files. > > $ git clone https://codeberg.org/Gusted/math-accuracy > $ cd math-accuracy > $ git last-modified -- LICENSES > 768f05837e7db2832425bc3b65d0f524e81b2769 LICENSES > > And on a bare repository: > > $ git clone --bare https://codeberg.org/Gusted/math-accuracy > $ cd math-accuracy.git > $ git last-modified -- LICENSE > fatal: ambiguous argument 'LICENSE': unknown revision or path not in the > working tree. > Use '--' to separate paths from revisions, like this: > 'git <command> [<revision>...] -- [<file>...]' > > Is a worktree required for this to work? A worktree is not required for this to work. The problem is that you've got a typo in there: you say "LICENSE", but the actual file is called "LICENSES". If you spell it correctly it should work alright. > Because it was talking about revision, I quickly checked a refspec as input > and it looks like I found another way to trigger a BUG. > > $ git last-modified -- HEAD:LICENSES > BUG: builtin/last-modified.c:456: paths remaining beyond boundary in > last-modified > [1] 202076 IOT instruction (core dumped) git last-modified -- > HEAD:LICENSES > > On the bare and non-bare repository. This looks like a bug to me indeed. Cc'ing Toon. Thanks! Patrick ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: git-last-modified on bare repository 2026-01-05 15:03 ` Patrick Steinhardt @ 2026-01-05 15:06 ` Gusted 2026-01-05 15:17 ` Patrick Steinhardt 2026-01-05 15:17 ` Kristoffer Haugsbakk 2026-01-12 15:15 ` Toon Claes 2 siblings, 1 reply; 11+ messages in thread From: Gusted @ 2026-01-05 15:06 UTC (permalink / raw) To: Patrick Steinhardt; +Cc: git, Toon Claes On 1/5/26 4:03 PM, Patrick Steinhardt wrote: > On Mon, Jan 05, 2026 at 02:35:56PM +0100, Gusted wrote: >> Hi, >> >> Now trying to actually make Forgejo use git last-modified after being >> pointed to the non-yet-documented options but I quickly noticed that it >> looks like it does not work as intended on bare repositories when looking >> specifying files. >> >> $ git clone https://codeberg.org/Gusted/math-accuracy >> $ cd math-accuracy >> $ git last-modified -- LICENSES >> 768f05837e7db2832425bc3b65d0f524e81b2769 LICENSES >> >> And on a bare repository: >> >> $ git clone --bare https://codeberg.org/Gusted/math-accuracy >> $ cd math-accuracy.git >> $ git last-modified -- LICENSE >> fatal: ambiguous argument 'LICENSE': unknown revision or path not in the >> working tree. >> Use '--' to separate paths from revisions, like this: >> 'git <command> [<revision>...] -- [<file>...]' >> >> Is a worktree required for this to work? > > A worktree is not required for this to work. The problem is that you've > got a typo in there: you say "LICENSE", but the actual file is called > "LICENSES". If you spell it correctly it should work alright. > Ah, sorry the typo is on me from copying the wrong command from the shell history. It produces the same output with using LICENSES as path. $ git last-modified -- LICENSES fatal: ambiguous argument 'LICENSES': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' >> Because it was talking about revision, I quickly checked a refspec as input >> and it looks like I found another way to trigger a BUG. >> >> $ git last-modified -- HEAD:LICENSES >> BUG: builtin/last-modified.c:456: paths remaining beyond boundary in >> last-modified >> [1] 202076 IOT instruction (core dumped) git last-modified -- >> HEAD:LICENSES >> >> On the bare and non-bare repository. > > This looks like a bug to me indeed. Cc'ing Toon. > > Thanks! > > Patrick Kind Regards Gusted ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: git-last-modified on bare repository 2026-01-05 15:06 ` Gusted @ 2026-01-05 15:17 ` Patrick Steinhardt 2026-01-06 9:42 ` Gusted 0 siblings, 1 reply; 11+ messages in thread From: Patrick Steinhardt @ 2026-01-05 15:17 UTC (permalink / raw) To: Gusted; +Cc: git, Toon Claes On Mon, Jan 05, 2026 at 04:06:39PM +0100, Gusted wrote: > On 1/5/26 4:03 PM, Patrick Steinhardt wrote: > > On Mon, Jan 05, 2026 at 02:35:56PM +0100, Gusted wrote: > > > Hi, > > > > > > Now trying to actually make Forgejo use git last-modified after being > > > pointed to the non-yet-documented options but I quickly noticed that it > > > looks like it does not work as intended on bare repositories when looking > > > specifying files. > > > > > > $ git clone https://codeberg.org/Gusted/math-accuracy > > > $ cd math-accuracy > > > $ git last-modified -- LICENSES > > > 768f05837e7db2832425bc3b65d0f524e81b2769 LICENSES > > > > > > And on a bare repository: > > > > > > $ git clone --bare https://codeberg.org/Gusted/math-accuracy > > > $ cd math-accuracy.git > > > $ git last-modified -- LICENSE > > > fatal: ambiguous argument 'LICENSE': unknown revision or path not in the > > > working tree. > > > Use '--' to separate paths from revisions, like this: > > > 'git <command> [<revision>...] -- [<file>...]' > > > > > > Is a worktree required for this to work? > > > > A worktree is not required for this to work. The problem is that you've > > got a typo in there: you say "LICENSE", but the actual file is called > > "LICENSES". If you spell it correctly it should work alright. > > > > Ah, sorry the typo is on me from copying the wrong command from the shell > history. It produces the same output with using LICENSES as path. > > $ git last-modified -- LICENSES > fatal: ambiguous argument 'LICENSES': unknown revision or path not in the > working tree. > Use '--' to separate paths from revisions, like this: > 'git <command> [<revision>...] -- [<file>...]' Hm, interesting, this works for me in a bare repository. Has this already been fixed...? Indeed, bisecting this points to 05491b90ce (last-modified: support sparse checkouts, 2025-11-29). So you should probably try with Git's "master" branch. Patrick ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: git-last-modified on bare repository 2026-01-05 15:17 ` Patrick Steinhardt @ 2026-01-06 9:42 ` Gusted 2026-01-06 9:58 ` Patrick Steinhardt 0 siblings, 1 reply; 11+ messages in thread From: Gusted @ 2026-01-06 9:42 UTC (permalink / raw) To: Patrick Steinhardt; +Cc: git, Toon Claes On 1/5/26 4:17 PM, Patrick Steinhardt wrote: > On Mon, Jan 05, 2026 at 04:06:39PM +0100, Gusted wrote: >> On 1/5/26 4:03 PM, Patrick Steinhardt wrote: >>> On Mon, Jan 05, 2026 at 02:35:56PM +0100, Gusted wrote: >>>> Hi, >>>> >>>> Now trying to actually make Forgejo use git last-modified after being >>>> pointed to the non-yet-documented options but I quickly noticed that it >>>> looks like it does not work as intended on bare repositories when looking >>>> specifying files. >>>> >>>> $ git clone https://codeberg.org/Gusted/math-accuracy >>>> $ cd math-accuracy >>>> $ git last-modified -- LICENSES >>>> 768f05837e7db2832425bc3b65d0f524e81b2769 LICENSES >>>> >>>> And on a bare repository: >>>> >>>> $ git clone --bare https://codeberg.org/Gusted/math-accuracy >>>> $ cd math-accuracy.git >>>> $ git last-modified -- LICENSE >>>> fatal: ambiguous argument 'LICENSE': unknown revision or path not in the >>>> working tree. >>>> Use '--' to separate paths from revisions, like this: >>>> 'git <command> [<revision>...] -- [<file>...]' >>>> >>>> Is a worktree required for this to work? >>> >>> A worktree is not required for this to work. The problem is that you've >>> got a typo in there: you say "LICENSE", but the actual file is called >>> "LICENSES". If you spell it correctly it should work alright. >>> >> >> Ah, sorry the typo is on me from copying the wrong command from the shell >> history. It produces the same output with using LICENSES as path. >> >> $ git last-modified -- LICENSES >> fatal: ambiguous argument 'LICENSES': unknown revision or path not in the >> working tree. >> Use '--' to separate paths from revisions, like this: >> 'git <command> [<revision>...] -- [<file>...]' > > Hm, interesting, this works for me in a bare repository. Has this > already been fixed...? Indeed, bisecting this points to 05491b90ce > (last-modified: support sparse checkouts, 2025-11-29). So you should > probably try with Git's "master" branch. > > Patrick Yup, git from source works! Do you by any chance know if 05491b90ce is going to be in v2.52.1? Kind Regards Gusted ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: git-last-modified on bare repository 2026-01-06 9:42 ` Gusted @ 2026-01-06 9:58 ` Patrick Steinhardt 2026-01-06 10:54 ` Kristoffer Haugsbakk 0 siblings, 1 reply; 11+ messages in thread From: Patrick Steinhardt @ 2026-01-06 9:58 UTC (permalink / raw) To: Gusted; +Cc: git, Toon Claes, Junio C Hamano On Tue, Jan 06, 2026 at 10:42:55AM +0100, Gusted wrote: > On 1/5/26 4:17 PM, Patrick Steinhardt wrote: > > On Mon, Jan 05, 2026 at 04:06:39PM +0100, Gusted wrote: > > > On 1/5/26 4:03 PM, Patrick Steinhardt wrote: > > > > On Mon, Jan 05, 2026 at 02:35:56PM +0100, Gusted wrote: > > > > > Hi, > > > > > > > > > > Now trying to actually make Forgejo use git last-modified after being > > > > > pointed to the non-yet-documented options but I quickly noticed that it > > > > > looks like it does not work as intended on bare repositories when looking > > > > > specifying files. > > > > > > > > > > $ git clone https://codeberg.org/Gusted/math-accuracy > > > > > $ cd math-accuracy > > > > > $ git last-modified -- LICENSES > > > > > 768f05837e7db2832425bc3b65d0f524e81b2769 LICENSES > > > > > > > > > > And on a bare repository: > > > > > > > > > > $ git clone --bare https://codeberg.org/Gusted/math-accuracy > > > > > $ cd math-accuracy.git > > > > > $ git last-modified -- LICENSE > > > > > fatal: ambiguous argument 'LICENSE': unknown revision or path not in the > > > > > working tree. > > > > > Use '--' to separate paths from revisions, like this: > > > > > 'git <command> [<revision>...] -- [<file>...]' > > > > > > > > > > Is a worktree required for this to work? > > > > > > > > A worktree is not required for this to work. The problem is that you've > > > > got a typo in there: you say "LICENSE", but the actual file is called > > > > "LICENSES". If you spell it correctly it should work alright. > > > > > > > > > > Ah, sorry the typo is on me from copying the wrong command from the shell > > > history. It produces the same output with using LICENSES as path. > > > > > > $ git last-modified -- LICENSES > > > fatal: ambiguous argument 'LICENSES': unknown revision or path not in the > > > working tree. > > > Use '--' to separate paths from revisions, like this: > > > 'git <command> [<revision>...] -- [<file>...]' > > > > Hm, interesting, this works for me in a bare repository. Has this > > already been fixed...? Indeed, bisecting this points to 05491b90ce > > (last-modified: support sparse checkouts, 2025-11-29). So you should > > probably try with Git's "master" branch. > > > > Patrick > > Yup, git from source works! Do you by any chance know if 05491b90ce is going > to be in v2.52.1? No idea, point releases are typically done rather ad-hoc. Let me Cc Junio though so that he's aware that we might want to pick this if we ever release v2.52.1. Patrick ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: git-last-modified on bare repository 2026-01-06 9:58 ` Patrick Steinhardt @ 2026-01-06 10:54 ` Kristoffer Haugsbakk 2026-01-07 0:01 ` Junio C Hamano 0 siblings, 1 reply; 11+ messages in thread From: Kristoffer Haugsbakk @ 2026-01-06 10:54 UTC (permalink / raw) To: Patrick Steinhardt, Gusted; +Cc: git, Toon Claes, Junio C Hamano On Tue, Jan 6, 2026, at 10:58, Patrick Steinhardt wrote: > On Tue, Jan 06, 2026 at 10:42:55AM +0100, Gusted wrote: >> On 1/5/26 4:17 PM, Patrick Steinhardt wrote: >>>[snip] >> >> Yup, git from source works! Do you by any chance know if 05491b90ce is going >> to be in v2.52.1? > > No idea, point releases are typically done rather ad-hoc. Let me Cc > Junio though so that he's aware that we might want to pick this if we > ever release v2.52.1. `RelNotes` says that this will be merged to `maint` later which points at tag v2.52.0 currently. * "git last-modified" used to mishandle "--" to mark the beginning of pathspec, which has been corrected. (merge 05491b90ce js/last-modified-with-sparse-checkouts later to maint). ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: git-last-modified on bare repository 2026-01-06 10:54 ` Kristoffer Haugsbakk @ 2026-01-07 0:01 ` Junio C Hamano 2026-01-07 17:12 ` D. Ben Knoble 0 siblings, 1 reply; 11+ messages in thread From: Junio C Hamano @ 2026-01-07 0:01 UTC (permalink / raw) To: Kristoffer Haugsbakk; +Cc: Patrick Steinhardt, Gusted, git, Toon Claes "Kristoffer Haugsbakk" <kristofferhaugsbakk@fastmail.com> writes: > On Tue, Jan 6, 2026, at 10:58, Patrick Steinhardt wrote: >> On Tue, Jan 06, 2026 at 10:42:55AM +0100, Gusted wrote: >>> On 1/5/26 4:17 PM, Patrick Steinhardt wrote: >>>>[snip] >>> >>> Yup, git from source works! Do you by any chance know if 05491b90ce is going >>> to be in v2.52.1? >> >> No idea, point releases are typically done rather ad-hoc. Let me Cc >> Junio though so that he's aware that we might want to pick this if we >> ever release v2.52.1. > > `RelNotes` says that this will be merged to `maint` later which points > at tag v2.52.0 currently. > > * "git last-modified" used to mishandle "--" to mark the beginning of > pathspec, which has been corrected. > (merge 05491b90ce js/last-modified-with-sparse-checkouts later to maint). These are really "if we will produce a release out of 'maint', the topics marked with these can cleanly be merged to be part of it", and does not answer "if we ever have 2.52.1?" at all, though ;-) I am on a bereavement leave now, so expect that my response will be leaky and slow. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: git-last-modified on bare repository 2026-01-07 0:01 ` Junio C Hamano @ 2026-01-07 17:12 ` D. Ben Knoble 0 siblings, 0 replies; 11+ messages in thread From: D. Ben Knoble @ 2026-01-07 17:12 UTC (permalink / raw) To: Junio C Hamano Cc: Kristoffer Haugsbakk, Patrick Steinhardt, Gusted, git, Toon Claes On Tue, Jan 6, 2026 at 7:01 PM Junio C Hamano <gitster@pobox.com> wrote: > > "Kristoffer Haugsbakk" <kristofferhaugsbakk@fastmail.com> writes: > > > On Tue, Jan 6, 2026, at 10:58, Patrick Steinhardt wrote: > >> On Tue, Jan 06, 2026 at 10:42:55AM +0100, Gusted wrote: > >>> On 1/5/26 4:17 PM, Patrick Steinhardt wrote: > >>>>[snip] > >>> > >>> Yup, git from source works! Do you by any chance know if 05491b90ce is going > >>> to be in v2.52.1? > >> > >> No idea, point releases are typically done rather ad-hoc. Let me Cc > >> Junio though so that he's aware that we might want to pick this if we > >> ever release v2.52.1. > > > > `RelNotes` says that this will be merged to `maint` later which points > > at tag v2.52.0 currently. > > > > * "git last-modified" used to mishandle "--" to mark the beginning of > > pathspec, which has been corrected. > > (merge 05491b90ce js/last-modified-with-sparse-checkouts later to maint). > > These are really "if we will produce a release out of 'maint', the > topics marked with these can cleanly be merged to be part of it", > and does not answer "if we ever have 2.52.1?" at all, though ;-) Good to know; I'd had questions about that as well. > I am on a bereavement leave now, so expect that my response will be > leaky and slow. Sorry to hear that. The only thing I know for sure is it gets easier with time. -- D. Ben Knoble ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: git-last-modified on bare repository 2026-01-05 15:03 ` Patrick Steinhardt 2026-01-05 15:06 ` Gusted @ 2026-01-05 15:17 ` Kristoffer Haugsbakk 2026-01-12 15:15 ` Toon Claes 2 siblings, 0 replies; 11+ messages in thread From: Kristoffer Haugsbakk @ 2026-01-05 15:17 UTC (permalink / raw) To: Patrick Steinhardt, Gusted; +Cc: git, Toon Claes On Mon, Jan 5, 2026, at 16:03, Patrick Steinhardt wrote: > On Mon, Jan 05, 2026 at 02:35:56PM +0100, Gusted wrote: >> Hi, >> >> Now trying to actually make Forgejo use git last-modified after being >> pointed to the non-yet-documented options but I quickly noticed that it >> looks like it does not work as intended on bare repositories when looking >> specifying files. >> >> $ git clone https://codeberg.org/Gusted/math-accuracy >> $ cd math-accuracy >> $ git last-modified -- LICENSES >> 768f05837e7db2832425bc3b65d0f524e81b2769 LICENSES >> >> And on a bare repository: >> >> $ git clone --bare https://codeberg.org/Gusted/math-accuracy >> $ cd math-accuracy.git >> $ git last-modified -- LICENSE >> fatal: ambiguous argument 'LICENSE': unknown revision or path not in the >> working tree. >> Use '--' to separate paths from revisions, like this: >> 'git <command> [<revision>...] -- [<file>...]' >> >> Is a worktree required for this to work? > > A worktree is not required for this to work. The problem is that you've > got a typo in there: you say "LICENSE", but the actual file is called > "LICENSES". If you spell it correctly it should work alright. The error message is more generic than it needs to be though. It has seen a `--` but it falls back to “revision or path”. A more pointed error error message “unknown path” would make it harder to make the mistake of dismissing the error as a bogus one. Of course, separate issue and all. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: git-last-modified on bare repository 2026-01-05 15:03 ` Patrick Steinhardt 2026-01-05 15:06 ` Gusted 2026-01-05 15:17 ` Kristoffer Haugsbakk @ 2026-01-12 15:15 ` Toon Claes 2 siblings, 0 replies; 11+ messages in thread From: Toon Claes @ 2026-01-12 15:15 UTC (permalink / raw) To: Gusted; +Cc: git, Patrick Steinhardt Patrick Steinhardt <ps@pks.im> writes: > On Mon, Jan 05, 2026 at 02:35:56PM +0100, Gusted wrote: >> Because it was talking about revision, I quickly checked a refspec as input >> and it looks like I found another way to trigger a BUG. >> >> $ git last-modified -- HEAD:LICENSES >> BUG: builtin/last-modified.c:456: paths remaining beyond boundary in >> last-modified >> [1] 202076 IOT instruction (core dumped) git last-modified -- >> HEAD:LICENSES >> >> On the bare and non-bare repository. > > This looks like a bug to me indeed. Cc'ing Toon. Okay, there are various things going on. First. If you do: $ git last-modified -- HEAD:LICENSES On Git 2.52.0, then you're getting the BUG. On 'master' you'll get simply no output. But if you do: $ git last-modified HEAD:LICENSES Then you actually trigger the same bug as you've reported before. "HEAD:LICENSES" resolves to a tree oid. So that command is basically the same as: $ git last-modified b79c618f6a11fc6f550dc98ef3227ef77b3132aa In both situation you get a BUG. And I'm still working on a fix. -- Cheers, Toon ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-01-12 15:16 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-01-05 13:35 git-last-modified on bare repository Gusted 2026-01-05 15:03 ` Patrick Steinhardt 2026-01-05 15:06 ` Gusted 2026-01-05 15:17 ` Patrick Steinhardt 2026-01-06 9:42 ` Gusted 2026-01-06 9:58 ` Patrick Steinhardt 2026-01-06 10:54 ` Kristoffer Haugsbakk 2026-01-07 0:01 ` Junio C Hamano 2026-01-07 17:12 ` D. Ben Knoble 2026-01-05 15:17 ` Kristoffer Haugsbakk 2026-01-12 15:15 ` Toon Claes
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox