Wednesday, March 11, 2026

Re: cvsweb news

was a bit rushing earlier, this is to clear things up

On 11/03/2026 13:03, Peter G. wrote:
> On 10/03/2026 21:23, Constantine A. Murenin wrote:
>
> this is how a very IO intensive systems usually work. you preload all
> caches and serve only from caches. sometimes preloading runs for a
> longer while, simply loading caches. then all that content is server
> effortlessly without much load.
>
> but you can keep the old URLs in place and simply display different
> results. again, prepare the compliance once, profit forever.

the point was: you need a web component to the version control system
that does heavy caching, then it won't matter much if bots scrape or
not, you'll serve everything from caches anyway

for example, cgit running on git

> a simple crawler run locally could simply collect all URLs and port them
> into nginx's map and rewrite for future compatibility. not a difficult task.

example of a complete setup

1. replace cvs with git (for many reasons, branching is one,
availability of high end web components is another, and so on)

2. select a high performing web component for your new git, whatever
offers "diffing" capabilities similar to cvsweb, so core functionality
remains the same

3. run locally the old version of cvsweb and use a crawler or a similar
script to find out all and any possible patterns to URLs it created,
i.e. create a map of how URLs *used* to work, there must be patterns to that

4. re-write that "map" into regex and use nginx's map to translate old
URLs to new URLs on the new system

https://nginx.org/en/docs/http/ngx_http_map_module.html

the examples show basic capabilities but map accepts any regex
compatible with pcre2, so the "URL map" for nginx's map can be actually
quite complex

4a. you can also put nginx before the git's web component to cache
further if needed.

5. the result should be a new system, with a new web component, yet all
previously generated URLs should still resolve showing a new version of
the old functionality

##

any future maintenance will be simplified. git isn't going away and any
web components it already has will only get better.

ancient cvs isn't coming back in style, ever, tho

No comments:

Post a Comment