# Unbreak git.php.net links?

- Thread: https://externals.io/message/116197
- Original archive: https://news-web.php.net/php.internals/116197
- Started by Stanislav Malyshev on 2021-10-04T04:23:05+00:00
- Messages: 14
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #116197 — Stanislav Malyshev — 2021-10-04T04:23:05+00:00

URL: https://externals.io/message/116197#116197

Hi!

I know we're no longer using git.php.net, but there are a lot of links 
there e.g. in bugs system. I wonder how hard it would be to make 
git.php.net redirect links like this:
 
http://git.php.net/?p=php-src.git;a=commit;h=3c939e3f69955d087e0bb671868f7267dfb2a502

to something like:

https://github.com/php/php-src/commit/3c939e3f69955d087e0bb671868f7267dfb2a502

-- 
Stas Malyshev
smalyshev@gmail.com

---

## #116198 — Joe Watkins — 2021-10-04T04:45:50+00:00

URL: https://externals.io/message/116197#116198 · In reply to: #116197

This seems reasonable.

I wonder if we could log the redirects so that we can obtain the list of
links and update accordingly so that we may eventually retire the domain
without breaking stuff.

Cheers
Joe



> Hi!
>
> I know we're no longer using git.php.net, but there are a lot of links
> there e.g. in bugs system. I wonder how hard it would be to make
> git.php.net redirect links like this:
>
> http://git.php.net/?p=php-src.git;a=commit;h=3c939e3f69955d0
> 87e0bb671868f7267dfb2a502
>
> to something like:
>
> https://github.com/php/php-src/commit/3c939e3f69955d087e0bb6
> 71868f7267dfb2a502
>
> --
> Stas Malyshev
> smalyshev@gmail.com
>
> --
> 
> To unsubscribe, visit: https://www.php.net/unsub.php

---

## #116199 — Joe Watkins — 2021-10-04T04:48:51+00:00

URL: https://externals.io/message/116197#116199 · In reply to: #116198

I just realised you're probably talking mostly about links in old comments
on bugs rather than in source code of bugsnet (because they would be easy
to find).

Maybe permanent redirects aren't so bad in that case.

But also, can't we just update the comments in place?

Cheers
Joe



> This seems reasonable.
>
> I wonder if we could log the redirects so that we can obtain the list of
> links and update accordingly so that we may eventually retire the domain
> without breaking stuff.
>
> Cheers
> Joe
>
> 
>
> > […]

---

## #116200 — Stanislav Malyshev — 2021-10-04T05:04:01+00:00

URL: https://externals.io/message/116197#116200 · In reply to: #116199

Hi!


> I just realised you're probably talking mostly about links in old 
> comments on bugs rather than in source code of bugsnet (because they 
> would be easy to find).
> 
> Maybe permanent redirects aren't so bad in that case.
> 
> But also, can't we just update the comments in place?

Well, that's possible too but I imagine it'd be more work.

-- 
Stas Malyshev
smalyshev@gmail.com

---

## #116201 — Hans Henrik Bergan — 2021-10-04T05:52:27+00:00

URL: https://externals.io/message/116197#116201 · In reply to: #116200

there's also plenty of broken links on reddit to git.php.net , ref
https://www.google.com/search?q=git.php.net+site%3Areddit.com

it wouldn't be hard to set up a redirector parsing commit ids out of the
url and redirecting to github,
+1 from me.



> Hi!
>
> 
> > […]
>
> Well, that's possible too but I imagine it'd be more work.
>
> --
> Stas Malyshev
> smalyshev@gmail.com
>
> --
> 
> To unsubscribe, visit: https://www.php.net/unsub.php

---

## #116202 — Andreas Heigl — 2021-10-04T06:01:29+00:00

URL: https://externals.io/message/116197#116202 · In reply to: #116201

Hey all.


> there's also plenty of broken links on reddit to git.php.net , ref
> https://www.google.com/search?q=git.php.net+site%3Areddit.com
> 
> it wouldn't be hard to set up a redirector parsing commit ids out of the
> url and redirecting to github,
> +1 from me.

So who's going to work on it? Doesn't make sense to have 5 people work 
on it independently from each other ;-)

Cheers

Andreas
-- 
                                                               ,,,
                                                              (o o)
+---------------------------------------------------------ooO-(_)-Ooo-+
| Andreas Heigl                                                       |
| mailto:andreas@heigl.org                  N 50°22'59.5" E 08°23'58" |
| https://andreas.heigl.org                                           |
+---------------------------------------------------------------------+
| https://hei.gl/appointmentwithandreas                               |
+---------------------------------------------------------------------+

---

## #116203 — Joe Watkins — 2021-10-04T06:28:45+00:00

URL: https://externals.io/message/116197#116203 · In reply to: #116202

I didn't think about external links ... I guess then redirecting would be
best.

The nameserver configuration is still as it was (I think), so it's probably
best to setup the NS to point at web and then someone can do the work in
the web repo (I suppose).

Cheers
Joe



> Hey all.
>
> 
> > […]
>
> So who's going to work on it? Doesn't make sense to have 5 people work
> on it independently from each other ;-)
>
> Cheers
>
> Andreas
> --
>                                                                ,,,
>                                                               (o o)
> +---------------------------------------------------------ooO-(_)-Ooo-+
> | Andreas Heigl                                                       |
> | mailto:andreas@heigl.org                  N 50°22'59.5" E 08°23'58" |
> | https://andreas.heigl.org                                           |
> +---------------------------------------------------------------------+
> | https://hei.gl/appointmentwithandreas                               |
> +---------------------------------------------------------------------+

---

## #116204 — Hans Henrik Bergan — 2021-10-04T06:38:08+00:00

URL: https://externals.io/message/116197#116204 · In reply to: #116202

>So who's going to work on it? Doesn't make sense to have 5 people work
> on it independently from each other ;-)

if nobody else wants to do it, i can make an initial implementation on
october 9th (6 days from now),

but wouldn't surprise me at all if someone else wants to do it ^^




> Hey all.
>
> 
> > […]
>
> So who's going to work on it? Doesn't make sense to have 5 people work
> on it independently from each other ;-)
>
> Cheers
>
> Andreas
> --
>                                                                ,,,
>                                                               (o o)
> +---------------------------------------------------------ooO-(_)-Ooo-+
> | Andreas Heigl                                                       |
> | mailto:andreas@heigl.org                  N 50°22'59.5" E 08°23'58" |
> | https://andreas.heigl.org                                           |
> +---------------------------------------------------------------------+
> | https://hei.gl/appointmentwithandreas                               |
> +---------------------------------------------------------------------+

---

## #116220 — Hans Henrik Bergan — 2021-10-04T19:21:49+00:00

URL: https://externals.io/message/116197#116220 · In reply to: #116204

here is an initial implementation:
https://github.com/divinity76/git-php-net-redirector/blob/main/src/redirector.php
it is just a minimum-effort implementation, anyone feel free to make
something better (also i have no idea how the "p" argument is supposed to
be parsed, so i just guessed)

it passes "Stanislav Malyshev"'s initial sample url, but it probably fails
on any other formats, if anyone has test urls, share em



On Mon, 4 Oct 2021 at 08:38, Hans Henrik Bergan <divinity76@gmail.com>
wrote:

> > […]
>
> if nobody else wants to do it, i can make an initial implementation on
> october 9th (6 days from now),
>
> but wouldn't surprise me at all if someone else wants to do it ^^
>
>
> 
>
> > […]

---

## #116224 — Ayesh Karunaratne — 2021-10-05T13:42:45+00:00

URL: https://externals.io/message/116197#116224 · In reply to: #116220

> here is an initial implementation:
> https://github.com/divinity76/git-php-net-redirector/blob/main/src/redirector.php
> it is just a minimum-effort implementation, anyone feel free to make
> something better (also i have no idea how the "p" argument is supposed to
> be parsed, so i just guessed)
>
> it passes "Stanislav Malyshev"'s initial sample url, but it probably fails
> on any other formats, if anyone has test urls, share em
>
>
>
> On Mon, 4 Oct 2021 at 08:38, Hans Henrik Bergan <divinity76@gmail.com>
> wrote:
>
> > […]


Hi Stanislav/Hans,
Thanks for opening this conversation and the initial implementation.

Having worked with a few cgit repositories before, I happen to recall
some of the other URL patterns. I worked on a similar implementation
to Hans's at https://github.com/Ayesh/git-php-redirect

> something better (also i have no idea how the "p" argument is supposed to
> be parsed, so i just guessed)

It is the name of the git repository on git.php.net. There were
several other repos for PECL, bug tracker, docs in multiple languages,
etc. I have added support for a static list that maps git.php.net
names to GitHub repo under `php` organization namespace.

In addition to the URL patterns Hans have covered
(p=php-src;h=HEX{40}), I thought to add a few more patterns:

- FROM: http://git.php.net/?p=php-src.git;a=commit;h=5af586be (
`/[a-z0-9]{7,}$/` )
  TO:       https://github.com/php/php-src/commit/5af586be

- FROM: https://git.php.net/?p=php-src.git;a=shortlog;h=refs/tags/php-8.0.0RC2
  TO:       https://github.com/php/php-src/releases/tag/php-8.1.0RC3

- FROM: https://git.php.net/?p=php-src.git;a={tree,log,shortlog};h=refs/heads/master;hb=refs/heads/master
  TO:       https://github.com/php/php-src/{tree,commits,commits}/master

- FROM: http://git.php.net/?p=php-src.git;a=log
  TO:       https://github.com/php/php-src

Cheers,
Ayesh.

---

## #116229 — Hans Henrik Bergan — 2021-10-05T16:06:00+00:00

URL: https://externals.io/message/116197#116229 · In reply to: #116224

@Ayesh thanks, added support for those url (
https://github.com/divinity76/git-php-net-redirector/commit/072a579d140a7481e76e95bd8c2d120ee2f71565
), also it looks like version numbers got mixed up in your example #2 ,
"8.0.0RC2" vs "8.1.0RC3", that is surely a typo?

>It is the name of the git repository on git.php.net. There were
several other repos for PECL, bug tracker, docs in multiple languages,
etc. I have added support for a static list that maps git.php.net
names to GitHub repo under `php` organization namespace.

oh i see.

fwiw, your implementation looks more professional / enterprise-y :)




> > […]
> https://github.com/divinity76/git-php-net-redirector/blob/main/src/redirector.php
> > […]
> fails
> > […]
> of the
> > […]
> +---------------------------------------------------------ooO-(_)-Ooo-+
> > […]
>  |
> > […]
> 08°23'58" |
> > […]
>  |
> > […]
> +---------------------------------------------------------------------+
> > […]
>  |
> > […]
> +---------------------------------------------------------------------+
> > […]
>
>
> Hi Stanislav/Hans,
> Thanks for opening this conversation and the initial implementation.
>
> Having worked with a few cgit repositories before, I happen to recall
> some of the other URL patterns. I worked on a similar implementation
> to Hans's at https://github.com/Ayesh/git-php-redirect
>
> > […]
>
> It is the name of the git repository on git.php.net. There were
> several other repos for PECL, bug tracker, docs in multiple languages,
> etc. I have added support for a static list that maps git.php.net
> names to GitHub repo under `php` organization namespace.
>
> In addition to the URL patterns Hans have covered
> (p=php-src;h=HEX{40}), I thought to add a few more patterns:
>
> - FROM: http://git.php.net/?p=php-src.git;a=commit;h=5af586be (
> `/[a-z0-9]{7,}$/` )
>   TO:       https://github.com/php/php-src/commit/5af586be
>
> - FROM:
> https://git.php.net/?p=php-src.git;a=shortlog;h=refs/tags/php-8.0.0RC2
>   TO:       https://github.com/php/php-src/releases/tag/php-8.1.0RC3
>
> - FROM:
> https://git.php.net/?p=php-src.git;a={tree,log,shortlog};h=refs/heads/master;hb=refs/heads/master
>   TO:       https://github.com/php/php-src/{tree,commits,commits}/master
>
> - FROM: http://git.php.net/?p=php-src.git;a=log
>   TO:       https://github.com/php/php-src
>
> Cheers,
> Ayesh.

---

## #116254 — Hans Henrik Bergan — 2021-10-08T14:43:19+00:00

URL: https://externals.io/message/116197#116254 · In reply to: #116229

Soooo, what's next?

On Tue, 5 Oct 2021 at 18:06, Hans Henrik Bergan <divinity76@gmail.com>
wrote:

> @Ayesh thanks, added support for those url (
> https://github.com/divinity76/git-php-net-redirector/commit/072a579d140a7481e76e95bd8c2d120ee2f71565
> ), also it looks like version numbers got mixed up in your example #2 ,
> "8.0.0RC2" vs "8.1.0RC3", that is surely a typo?
>
> > […]
> several other repos for PECL, bug tracker, docs in multiple languages,
> etc. I have added support for a static list that maps git.php.net
> names to GitHub repo under `php` organization namespace.
>
> oh i see.
>
> fwiw, your implementation looks more professional / enterprise-y :)
>
>
> 
>
> > […]

---

## #116256 — Ayesh Karunaratne — 2021-10-10T11:10:18+00:00

URL: https://externals.io/message/116197#116256 · In reply to: #116254

>
> Soooo, what's next?
>
> On Tue, 5 Oct 2021 at 18:06, Hans Henrik Bergan <divinity76@gmail.com>
> wrote:
>
> > […]

From what I could observe:
 - DNS for git.php.net still resolves to 208.43.231.11 IP address.
 - Server at 208.43.231.11 does not listen/accept HTTP(S) traffic.
 - git.php.net was previously served with *.php.net TLS certificate.

I suppose the next steps would be to:

1. Check if the DNS is correctly configured, and make sure
208.43.231.11 is indeed an IP address that we could use.
2. Setup vhosts and TLS for git.php.net.
3. Setup the redirection script.

@Hans Henrik Bergan opened PR at
https://github.com/Ayesh/git-php-redirect with test cases, and I think
his approach at a simple redirect script works and supports the same
patterns too.

That said, it wouldn't be terribly inconvenient to redirect all
traffic using the Nginx/Apache rewrite rules either. We wouldn't even
need to have a PHP-FPM or alike running that server.

Cheers,
Ayesh.

---

## #116295 — Hans Henrik Bergan — 2021-10-24T11:30:43+00:00

URL: https://externals.io/message/116197#116295 · In reply to: #116256

if the actual hosting is an issue, i can host it until at least through
September 2024 (i can probably host it longer, but that's the longest i can
guarantee, like even if i get hit-by-a-buss-tomorrow),

just add the following DNS records for php.net:
git.php.net.   1 IN NS ns1.dreamhost.com.
git.php.net.   1 IN NS ns2.dreamhost.com.
git.php.net.   1 IN NS ns3.dreamhost.com.
and delete the current A record for git.php.net,
and everything else is ready to go..
notably, it seems git.php.net never supported httpS, but it wouldn't be any
trouble to add httpS support too. (but if there is no actual https links in
the wild, I'm guessing it won't add much value)




> > […]
> https://github.com/divinity76/git-php-net-redirector/commit/072a579d140a7481e76e95bd8c2d120ee2f71565
> > […]
> wrote:
> > […]
> https://github.com/divinity76/git-php-net-redirector/blob/main/src/redirector.php
> > […]
> supposed
> > […]
> divinity76@gmail.com>
> > […]
> implementation on
> > […]
> wrote:
> > […]
> , ref
> > […]
> out
> > […]
> ,,,
> > […]
> o)
> > […]
> +---------------------------------------------------------ooO-(_)-Ooo-+
> > […]
> +---------------------------------------------------------------------+
> > […]
> +---------------------------------------------------------------------+
> > […]
> supposed
> > […]
> https://git.php.net/?p=php-src.git;a=shortlog;h=refs/tags/php-8.0.0RC2
> > […]
> https://git.php.net/?p=php-src.git;a={tree,log,shortlog};h=refs/heads/master;hb=refs/heads/master
> > […]
> https://github.com/php/php-src/{tree,commits,commits}/master
> > […]
>
> From what I could observe:
>  - DNS for git.php.net still resolves to 208.43.231.11 IP address.
>  - Server at 208.43.231.11 does not listen/accept HTTP(S) traffic.
>  - git.php.net was previously served with *.php.net TLS certificate.
>
> I suppose the next steps would be to:
>
> 1. Check if the DNS is correctly configured, and make sure
> 208.43.231.11 is indeed an IP address that we could use.
> 2. Setup vhosts and TLS for git.php.net.
> 3. Setup the redirection script.
>
> @Hans Henrik Bergan opened PR at
> https://github.com/Ayesh/git-php-redirect with test cases, and I think
> his approach at a simple redirect script works and supports the same
> patterns too.
>
> That said, it wouldn't be terribly inconvenient to redirect all
> traffic using the Nginx/Apache rewrite rules either. We wouldn't even
> need to have a PHP-FPM or alike running that server.
>
> Cheers,
> Ayesh.
