Ariel Machado wrote:
> /I previously sent this question to the savannah-users mailing list, but
> after reviewing the list descriptions, it seems that savannah-hackers may be
> the more appropriate place for technical issues related to the cgit service.

I'll reply to both.

> I’m having trouble downloading a Git commit snapshot for *gnu-config
> (version cci.20210814)* from the Savannah cgit interface.

That feature was disabled 2026-02-15 due to abuse by AI scraper bots.
It has been unable to be supported since then.  AI Scraper bots.  (My
fist raised to sky shouting.) It's why we can't have nice things.

    https://cgit.git.savannah.gnu.org/cgit/config.git

Note that there is no link to snapshots on that page.  Not there.

> We use the Conan C++ package manager, which references the snapshot URLs for
> gnu-config in its recipe metadata: 
> https://github.com/conan-io/conan-center-index/blob/182d14e0086d6effcd2af43572b9d57048d72089/recipes/gnu-config/all/conandata.yml#L3

Perhaps you could update that reference?

> The snapshot URL that Conan attempts to fetch (*and cache*) is:
> ...
> This results in a *400 Bad Request* error.

Yes.  Sorry.  Disabled.  The Linux kernel team has an excellent
article on this problem from their perspective.

    https://people.kernel.org/monsieuricon/creepy-crawlies

> It appears that the snapshot generation mechanism for commit archives may
> not be functioning correctly on the Savannah cgit service, or a recent
> change that affects this approach.

AI Scraper bots.  It's why we can't have nice things.

> Could you clarify whether snapshot downloads are expected to work, or if
> this issue indicates a server-side error?

These are gone.  Sorry.  What happens is that ten million bots try to
download every link on the cgit & gitweb rendered pages.  This
includes every version of every commit.  Each of those are heavy on
the server.  After the servers get to a load average of about 75 they
stop responding to anyone.  And we have multiple servers in the pool
now and the pool of them cannot keep up.

The choice is to either let go of that feature or not to have any
version control access for anyone.  And also this feature is trivial
for the client to create tar images on the client side.

Instead you should create your own snapshots.  Clone the project.  Then
create your own snapshot.

    rwp@madness:~/tmp$ git clone git://git.git.savannah.gnu.org/config.git
    Cloning into 'config'...
    remote: Enumerating objects: 5803, done.
    remote: Counting objects: 100% (5803/5803), done.
    remote: Compressing objects: 100% (2459/2459), done.
    remote: Total 5803 (delta 3425), reused 5644 (delta 3302), pack-reused 0 
(from 0)
    Receiving objects: 100% (5803/5803), 1.37 MiB | 2.73 MiB/s, done.
    Resolving deltas: 100% (3425/3425), done.

    rwp@madness:~/tmp$ cd config

    rwp@madness:~/tmp/config$ git archive 
191bcb948f7191c36eefe634336f5fc5c0c4c2be > 
config-191bcb948f7191c36eefe634336f5fc5c0c4c2be.tar.gz

    rwp@madness:~/tmp/config$ tar tvf 
config-191bcb948f7191c36eefe634336f5fc5c0c4c2be.tar.gz
    -rw-rw-r--  0 root   root      141 Aug 14  2021 .gitattributes
    -rw-rw-r--  0 root   root       11 Aug 14  2021 .gitignore
    -rw-rw-r--  0 root   root   128684 Aug 14  2021 ChangeLog-old
    -rw-rw-r--  0 root   root      752 Aug 14  2021 Makefile
    -rwxrwxr-x  0 root   root    49348 Aug 14  2021 config.guess
    -rwxrwxr-x  0 root   root    35276 Aug 14  2021 config.sub
    drwxrwxr-x  0 root   root        0 Aug 14  2021 doc/
    -rw-rw-r--  0 root   root     1742 Aug 14  2021 doc/config.guess.1
    -rw-rw-r--  0 root   root      918 Aug 14  2021 doc/config.guess.x
    -rw-rw-r--  0 root   root      864 Aug 14  2021 doc/config.sub.1
    -rw-rw-r--  0 root   root       71 Aug 14  2021 doc/config.sub.x
    -rwxrwxr-x  0 root   root    16521 Aug 14  2021 gitlog-to-changelog
    drwxrwxr-x  0 root   root        0 Aug 14  2021 testsuite/
    -rw-rw-r--  0 root   root     9365 Aug 14  2021 testsuite/config-guess.data
    -rw-rw-r--  0 root   root     1501 Aug 14  2021 testsuite/config-guess.sh
    -rw-rw-r--  0 root   root    30479 Aug 14  2021 testsuite/config-sub.data
    -rw-rw-r--  0 root   root     2589 Aug 14  2021 testsuite/config-sub.sh

Please keep the repository as a cache and then simply git pull updates
to it when getting newer versions.

    rwp@madness:~/tmp/config$ time git pull
    Already up to date.
    real    0m0.479s
    user    0m0.008s
    sys     0m0.007s

Bob

Reply via email to