GitHub Downloads and the github portgroup

Ryan Schmidt ryandesign at macports.org
Sun Mar 31 04:16:26 PDT 2013


On Mar 28, 2013, at 11:36, Ben Smith wrote:

> As someone who has used the github portgroup in the past, I'm wondering if there is an agreed upon new download area for github projects (since Github depreciated downloads). For instance, should we all have a folder under tree/master where we place the tar.gz files?  

Putting tar.gz archives of your software into your software's git repository is probably a bad idea. Anybody checking out your git repo will now not only get the current version of the code, and all of its git history, but also tarballs of parts of that history again.

Or if someone asks to download the current version of EconScript by accessing https://github.com/tazzben/EconScripts/archive/master.zip they'll get not only the current version of EconScripts but also (in Simulations/Python/EG Statistic/downloads) those tarballs.

If you must create release tarballs (i.e. if the ones github creates automatically of your whole repository are not acceptable) then you should put them in normal web space somewhere, not in your repo.


Part of the problem is that you've grouped many items together into this single EconScripts git repo. A git repo should contain only a single project; create new git repos for new projects. Then you can branch and tag each project separately and it's quite simple to download only a single project's code.


On Mar 29, 2013, at 08:42, Ben Smith wrote:

> Thanks to Alex's recommendation, I've created a separate branch where
> I've added the files for MacPorts specifically and tagged each of
> those with release numbers.

Tags appear to be global to the git repository. So now you've got a tag for your EconScripts repository called "1.1" that doesn't contain EconScripts 1.1; it only contains 2 files from the MacPortsDownloads branch that relate to version 1.1 of EGSimulation. Surely this will confuse your other users.



On Mar 30, 2013, at 19:34, Ben Smith wrote:

> Though, I might note that it is not immediately clear that version can actually be a tag name looking at the var names (as a tag could be anything, not just released versions).  But it obviously works, and Alex said your the one that explained that detail to him. 

Yes I suppose you could use any tag, but I'm not aware of a reason to. The way this is all meant to work is that a developer has a git repo for their project within their github account, writes their code for awhile, then decides that version 1.1 of this project is ready and makes a tag called "v1.1", and then we can download that code in MacPorts by making a port with the line "github.setup author project 1.1 v".



More information about the macports-dev mailing list