#2840 RFE: code snapshots for allura repos

v1.0.0
closed
nobody
General
Cory Johns
2015-08-20
2011-09-20
Chris Tsai
No

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.

Related

Tickets: #2840
Tickets: #3596
Tickets: #5554

Discussion

  • Anonymous - 2011-09-25

    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.

     
  • Dave Brondsema

    Dave Brondsema - 2012-04-20
    • milestone: forge-backlog --> someday
     
  • Chris Tsai - 2012-09-26
    • labels: support --> support, p3
     
  • Anonymous - 2012-09-30

    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!

     
  • Anonymous - 2012-10-18

    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 ?

     
  • Dave Brondsema

    Dave Brondsema - 2012-10-19
    • labels: support, p3 --> support, p3, feature-parity
    • milestone: someday --> forge-backlog
     
  • Dave Brondsema

    Dave Brondsema - 2012-10-19

    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.

     
  • Anonymous - 2013-01-29

    Originally by: trancetip

    Any update on this? I'd love to have this feature back.

     
  • Anonymous - 2013-02-05

    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.

     
  • Anonymous - 2013-02-05

    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.

     
  • Dave Brondsema

    Dave Brondsema - 2013-02-08

    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.

     
  • Dave Brondsema

    Dave Brondsema - 2013-02-08
    • labels: support, p3, feature-parity --> support, p3, feature-parity, 42cc
     
  • Igor Bondarenko - 2013-02-12
    • status: open --> in-progress
     
  • Igor Bondarenko - 2013-02-12

    Created:

    • #272: [#2840] Code Snapshot: Background task to generate a tarball (4cp)
    • #273: [#2840] Code Snapshot: User interaction (4cp)
     

    Related

    Tickets: #2840

  • Igor Bondarenko - 2013-02-22

    Closed #272.

    Allura: je/42cc_2840

    ForgeHg: 42cc_2840

     
  • Igor Bondarenko - 2013-03-04
    • status: in-progress --> code-review
     
  • Igor Bondarenko - 2013-03-04

    Closed #273.

    All changes are in branches:

    • Allura: je/42cc_2840
    • ForgeHg: 42cc_2840

    Feature controlled by the following options in the ini-file:

    # root directory for tarballs
    scm.repos.tarball.root = /nfs/tarball
    # enable/disable feature
    scm.repos.tarball.enable = true
    # url prefix for tarballs' download urls
    scm.repos.tarball.url_prefix = http://sf-fortytwo-7049.sb.sf.net/p/snapshots/
    
     
  • Cory Johns - 2013-03-08
    • qa: Cory Johns
     
  • Cory Johns - 2013-03-12
    • status: code-review --> closed
     
  • Cory Johns - 2013-03-12
    • milestone: forge-backlog --> forge-mar-22
     
  • Dave Brondsema

    Dave Brondsema - 2013-03-13

    Additional work in [#5963]

     

    Related

    Tickets: #5963

  • Anonymous - 2013-03-30

    Originally 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
  • Dave Brondsema

    Dave Brondsema - 2013-04-01

    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.

     

Log in to post a comment.