bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#51316: 29.0.50; Should we match the final ".git" in bug-reference au


From: Tassilo Horn
Subject: bug#51316: 29.0.50; Should we match the final ".git" in bug-reference autosetup?
Date: Sat, 23 Oct 2021 11:12:38 +0200
User-agent: mu4e 1.7.3; emacs 29.0.50

<miha@kamnitnik.top> writes:

>>> But requires that the string doesn't have anything after the .git,
>>> whereas it's currently more sloppy.  I'm not sure whether that's by
>>> intent or not.  (So I'm adding Tassilo to the CCs.)
>>
>> No, in my experience there cannot be anything after ".git".  At least
>> it's the last part of the filename and I doubt you can have query
>> parameters like https://forge.org/user/project.git?foo=bar in a git
>> url.
>>
> I tried "git clone https://gitlab.com/rstocker/emacs-bluetooth.git/";
> and it worked, so we should probably allow ".git/" with a final slash
> as well.

Ah, good catch, that's obviously correct since .git it is a directory.

> And then I also tried "git clone
> https://gitlab.com/rstocker/emacs-bluetooth.git//"; and it also worked,
> so I guess any number of slashes are allowed after the final ".git".

I've also tried, and it seems the maximum number of trailing slashes is
two.  Those all work:

  https://github.com/djcb/mu
  https://github.com/djcb/mu/
  https://github.com/djcb/mu//
  https://github.com/djcb/mu.git
  https://github.com/djcb/mu.git/
  https://github.com/djcb/mu.git//

but any more / gives me "Not found".  Well, and I guess even the two-/
will most probably never occur in real-life when considering where the
URL comes from.  I mean, those are usually copy-and-pasted from the
forge's special "clone me" button or from a browser's URL bar.

> Therefore I propose something like this:
>
> "[/:]\\([.A-Za-z0-9_/-]+?\\)\\(?:\\.git/*\\)?\\'"

With the reasoning above, I'd suggest using

  "[/:]\\([.A-Za-z0-9_/-]+?\\)\\(?:\\.git/?\\)?\\'"

Bye,
Tassilo





reply via email to

[Prev in Thread] Current Thread [Next in Thread]