cloning repository from gitweb cloning repository from gitweb git git

cloning repository from gitweb


gitweb is just a perl script (gitweb.perl):

If enabled in the gitweb.conf, gitweb can serve "snapshots" (in zip or tag.gz format), but this isn't the full history of the repository: it is only a compressed archive of any tree or commit, as produced by git-archive.

http://<gitweburl>/gitweb.cgi?p=<repo>.git;a=snapshot;h=HEAD

If there is any command, it needs to be executed on the server.
For instance, you can ask for a bundle (git bundle):

cd /path/to/bare/repogit bundle create ../repo.bundle --all

That will create one file, that you can sftp back to your local station, and which acts as a git repository (read only, clone/pull only, no push):

cd /path/to/repo.bundlegit clone repo.bundlecd repo


You can try fetching repo using http:// instead of git://.

For instance, Linux git repo at https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/ can be cloned using http://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

Try replacing git:// with http:// or https:// and see if it does the trick.

Reconstructing git repository file-by-file may be possible, but considering that the repository still exists, it does not make much sense. You may try contacting repo owners and check if they would be willing to either fix repo access.