Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

It's much nicer to have everything you could ever need in one place, instead of having to know what is in what repo. Especially when you have versions that need to correspond in the different repos...


sort by: page size:

Out of curiosity, why would you prefer having multiple repos over a few top-level directories in one repo?

Another benefit (imo one of the biggest ones) is not having to constantly create releases across all your repos and manage their states when jumping around during development.

My previous job used a collection of about 6 repos for different services and such, and it was a constant struggle to ensure the correct versions were used in development - especially if you were working on a bigger feature that wasn't yet released but required "future" versions from other repositories.


Can you elaborate on this a bit? What are the advantages to keeping everything in a single repo for the organization vs. a different repo per project?

Good point—I can see the point of having numerous repos if you have multiple unrelated clients’ code bases.

Having everything together in the same repo is great if

- you don't care about tests that span multiple versions of the app (e.g. patterns of usage around database upgrades)

- you don't care about git bisect sessions that evaluate a new test against old versions of the app

- you never want to try the new app on the old infra or the old app on the new infra

- you're not worried about tests written by people not on your team whose failures indicate scenarios that don't require action on your part (but might require action on theirs).


Is there a reason why they keep everything in the same repo? Can’t you just split the code across multiple smaller repos?

But imagine the increased productivity of your devs if they only had to check out a single repo. Anyone has the same organization of projects on their machine. All tools are in one place...

It makes sense to have separate repos for things that don't interact. But when your modules or services do. Having them together cuts out some overhead.

Wouldn't it be better if there was one repo that had all of the fixes?

Not sure what's the big benefit here, backups? Otherwise, the more devs a repo has, the more redundancy exists anyway, if that's your main concern.

What is the point instead of having them in two separate repos?

At my current job we have this setup - one repo contains 14 different services. Admittedly there are still way more services than their need to be but having everything in one place helps to keep bit rot at bay, and it avoids the need to deploy and synchronise patches across multiple repos.

Yeah I agree! I used to commit everything into one repo, and I found I was wasting a lot of time downloading thousands of files and vm's etc when I only needed to work on say one component.

I think this structure lets you take either approach, needs some tweaking though for sure.


The repos are basically an App Store. The only advantage is you can add multiple repo sources.

That's fair. I think the important thing is to be able to have multiple versions of portions of your repo and then be able to version that. A branch of branches, so to speak.

It helps make the repo most popular

- more bug reports

- more community documentation

- more user testing

- etc


I think that's having a single codebase. You can have different projects using different languages on a single repo.

> dozens of repos, and they all have separate CI needs and test suites

Standardizing all of this is one of the advantages.


Yes. We used to have dozens of repos, but started to merge them slowly. Nowadays we have 3 large ones, but the goal is 1.
next

Legal | privacy