It can be very useful sometimes for users to be able to just download a source repository without having to install an SCM client. ViewVC supports this for CVS and SVN, for example, see the "Download GNU tarball" link here: http://easymock.svn.sourceforge.net/viewvc/easymock/
Gitweb also has that feature, they call it "snapshots", though siteops have currently disabled it on our gitweb instance since they found it to be causing load issues on the servers.
In any case though, I think this would be a worthwhile addition to the allura code browser.
Originally by: nanotube
To reduce load, we could realize that ~99% of the time that someone wants a git snapshot, they are looking for the snapshot of the tip of a branch. and > 90% of the time, that branch is the master branch. So load could be reduced significantly simply by pregenerating the tar.gz for the master branch, and possibly also for other branches.
Originally by: beckmi
We've used this feature a lot, and we're missing it right now. It was so easy to make changes to the source, and then provide the users with a link to the Tarball download.
Now they have to learn how to use SVN or Git clients? Or do I have to create a zip file for every change and place in the file repository? That's way too much work!
Please bring this feature back!
Originally by: liverpoolfcfan
This is a must have feature - not a backlog -> someday feature.
I really wish you had made it easier to see all the great features we would lose by upgrading our project rather than all the great features we were supposed to gain by upgrading it.
Is there a "downgrade my project" link somewhere ?
We can probably re-use ViewVC for the SVN part of this, since it is BSD-style licensed. See "def download_tarball" in trunk/lib/viewvc.py Not sure if that'll work for our hg & git repos or not.
Originally by: trancetip
Any update on this? I'd love to have this feature back.
Originally by: yaplej
I was using this feature in conjuction with the OBS build.opensuse.org to produce pre-compiled packages and repositories. Using their download_url services with this was the only method that would work to build my project from the soruce. Its now impossible for me to build new packages from the latest source tree.
Originally by: e9925248
You can use other source services, eg. look at https://build.opensuse.org/package/show?package=grandorgue&project=home%3Ae9925248%3Agrandorgue
Originally by: yaplej
The problem is my package includes the source for a kernel module. The source code is downloaded as an additional tar archive but packaging for Debian does not allow multiple tar files.
Prior to the sf.net updates I was downloading the additional archives via the download_url service pointing to the tar archive at sf.net the download_url service allowed me to specify the output filename as "module.src" then use rules to change the name back durring packaging.
If I can make it work with the existing services that would be great but so far I have been unable to do so.
https://build.opensuse.org/package/view_file?expand=1&file=_service&package=opennop&project=network%3Aopennop%3Adevel
My only option is to have this feature at sf.net re-implemented or have one of the services at OBS expanded to support specifying specific output filename either for tar_scm or recompress.
I think we should use a background task to generate the tarball, which I guess would require a simple "waiting" page to check for it being ready. Not sure how to make that work well if someone wants to download it with an automated tool. We can't have super-long web requests.
We can keep tarballs in a specified directory and re-use them if a request for the same repo+revision comes in. We'll probably want to serve the actual file via nginx directly and not through Allura. Allura should have configuration options to specify the final URL prefix, so Allura site admins can configure it based on their environment.
Requesting tarballs should be controlled with an ini setting, so it's an optional feature. We also don't want spiders generating these requests, so include a nofollow/noindex hint on the request link.
Created:
Related
Tickets:
#2840Closed #272.
Allura:
je/42cc_2840
ForgeHg:
42cc_2840
Closed #273.
All changes are in branches:
je/42cc_2840
42cc_2840
Feature controlled by the following options in the ini-file:
Additional work in [#5963]
Related
Tickets:
#5963Originally by: beckmi
You've said that "Feature controlled by the following options in the ini-file:". Where can I find this ini file? Are there any instructions somewhere?
Do I have to do it for each project individually? Can you set it for my project?
Last edit: Anonymous 2015-06-06
The ini file is on the Allura servers. We're working through some deployment configuration currently and will enable this for all projects when it's ready to go.