Publishing multi-part projects on github.

for all subjects/topics not covered by the other forum categories
Post Reply
Prime
Posts: 2858
Joined: Mon Jun 01, 2009 12:52 am
Contact:

Publishing multi-part projects on github.

Post by Prime » Sat Oct 19, 2019 7:15 pm

Hi all,

This question is about my DragonMMC project but could also for example apply to the Electron / Atom boards I have made too.

I've had a request to publish the source for DragonMMC (which I am intending to do). However since this project consists of 4 parts Schematic/Board layout**, Code for the AVR microcontroller, Code for the Xilinx CPLD and native code for the 6809. So would it make sense to publish these all as one single repository or as 3 (or 4) seperate ones?

**I'm not opening the design files yet as they are still on sale, and my collaborator has asked me not to release these until most of the boards have been sold.

Anyone have any strong opinions either way?

Cheers.

Phill.

User avatar
roland
Posts: 3771
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Publishing multi-part projects on github.

Post by roland » Sat Oct 19, 2019 8:08 pm

I think this is difficult to answer. As a developer it might be good to separate the project parts; each program might have its own working directory and so the files are spread over your local disk. But from the end-user perspective it might be handy to have it all in one repository because they don't have to look for dependencies.

Still I prefer my own projects to be split into multiple github repositories.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

Prime
Posts: 2858
Joined: Mon Jun 01, 2009 12:52 am
Contact:

Re: Publishing multi-part projects on github.

Post by Prime » Sat Oct 19, 2019 9:25 pm

roland wrote:
Sat Oct 19, 2019 8:08 pm
I think this is difficult to answer. As a developer it might be good to separate the project parts; each program might have its own working directory and so the files are spread over your local disk. But from the end-user perspective it might be handy to have it all in one repository because they don't have to look for dependencies.
Indeed that is my dilema :)

Though each individual part would have it's own source tree in a separate folder, so you could just rebuild the part you want, especially as you need different tools for the AVR, CPLD and 6809.

Cheers.

Phill.

tingo
Posts: 13
Joined: Fri Jul 06, 2018 1:56 pm
Contact:

Re: Publishing multi-part projects on github.

Post by tingo » Sun Dec 01, 2019 9:41 pm

Prime wrote:
Sat Oct 19, 2019 9:25 pm
Though each individual part would have it's own source tree in a separate folder, so you could just rebuild the part you want, especially as you need different tools for the AVR, CPLD and 6809.
FWIW, as a user of many projects based on Github, this (a single repository with subdirectories for each "part" of the project) is very common, and my personal favorite - it makes it easy to get ('git clone ..') everything you need, and (hopefully) in a consistent state as well.

As a developer / creator it might make sense for larger projects to split them into separate repositories, especially if some parts are "modules" that can be used as building blocks in other projects.

Anyway, it is always possible to change things down the road if you are not happy with your initial layout.
--
Torfinn

VectorEyes
Posts: 308
Joined: Fri Apr 13, 2018 2:48 pm
Contact:

Re: Publishing multi-part projects on github.

Post by VectorEyes » Sun Dec 01, 2019 10:36 pm

You could look into git submodules for this. They’re often used to make repositories that ‘contain’ or ‘link to’ other repositories. They’re not without their problems but when configured and used appropriately it can be the right solution to this kind of problem.

I’d echo what was written above though: if the smaller sections aren’t ‘standalone’ products in some way then they should just be part of the main repository.

Post Reply

Return to “off-topic”