Skip to content
GitLab
Next
    • Why GitLab
    • Pricing
    • Contact Sales
    • Explore
  • Why GitLab
  • Pricing
  • Contact Sales
  • Explore
  • Sign in
  • Get free trial
  • GitLab.orgGitLab.org
  • GitLab FOSSGitLab FOSS
  • Issues
  • #38830

Offer a sane URL for getting tarballs

Description

GitLab's current URL format for retrieving tarballs is quite painful.

For example, the tarball URL for osslugaru/lugaru v1.2 tag is: https://gitlab.com/osslugaru/lugaru/repository/1.2/archive.tar.gz

This produces a tarball lugaru-1.2-c7b99378439735c60f84869b05c6ebde53083667.tar.gz with a top level folder lugaru-1.2-c7b99378439735c60f84869b05c6ebde53083667.

This is complicated and horrible for people trying to automate retrieving and extracting tarballs.

As a point of comparison, the osslugaru/lugaru v1.2 tag on GitHub is: https://github.com/osslugaru/lugaru/archive/1.2/lugaru-1.2.tar.gz or https://github.com/osslugaru/lugaru/archive/1.2.tar.gz

Either link produces a tarball lugaru-1.2.tar.gz with a top level folder lugaru-1.2.

This is much easier for automating for the purposes of building, deploying, and/or packaging.

Proposal

Please add an alternate URL structure like the following:

  • <host>/<org>/<project>/repository/archive/<project>-<ref>.(tar.gz|tar.bz2|zip)

(ref could be a commit, tag, or a branch)

The top level directory inside would be <project>-<ref>.

Links / references

  • https://fedoraproject.org/wiki/Packaging:SourceURL

Overview

As I and many other people download and package software for *nix systems or build it for use in other software, it makes it much easier if there's sane, simpler standard for people to follow at a glance, especially as new versions release to make it more effortless to track.

Use cases

  • Packagers who employ some simple automation (think rpmdev-bumpspec and spectool to retrieve sources or use source services on the OpenSUSE Build Service) would be able to effortlessly upgrade without worrying about the structure being changed by git commit things.

Feature checklist

Make sure these are completed before closing the issue, with a link to the relevant commit.

  • Feature assurance
  • Documentation
  • Added to features.yml
Assignee
Assign to
Time tracking