question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Merge several subrepos into bundle repo (monorepoify)

See original GitHub issue

Right now I’m really bothered by the overhead of managing submodules, CI, and releases. Things would be a lot simpler if a lot of things were brought into one repo.

Then I read this: https://danluu.com/monorepo/

Has been discussed a little before in: https://github.com/ActivityWatch/activitywatch/issues/70

Things that would improve:

  • Most issues would go in the standard activitywatch repo (easier overview, less cross-referencing)
  • Open PRs would become easier to overview and cross-repo changes could be put in a single PR instead of spread across repos
  • CI would be easier to maintain and run full integration tests on all projects for every commit
  • Easier to install

Things that would worsen:

  • CI build times
  • The contributor stats stuff would have to be rewritten

Repos I’d merge in:

  • aw-core
  • aw-server
  • aw-webui
  • aw-client
  • aw-client-js
  • aw-watcher-afk
  • aw-watcher-window
  • aw-watcher-web

Things we’d have to do:

  • For each repo to be merged:
    • In original repo, check out a new branch, move all files into subfolder with same name as repo, commit.
    • In destination repo, git merge the original repo’s pre-merge branch.
  • Move all issues and open PRs

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:6 (4 by maintainers)

github_iconTop GitHub Comments

3reactions
staltzcommented, Sep 5, 2018

Hi! Thanks for asking for my comment. I think as long as the architecture remains modular (not monolithic), then I think it’s fine to make a monorepo. You can use this git trick to merge in the commits from all repos.

1reaction
johan-bjareholtcommented, Sep 5, 2018

I don’t like monorepos, but if we want fewer repos this would be my suggestion of merging more stuff into aw_server like this:

  • aw_server
    • aw_server
    • aw_webui
    • aw_datastore
    • aw_transform

I like when the clients and their dependencies are in seperate repos, makes more sense for third-party watchers. The modules specified above should be aw_server exclusive anyway.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Creating a monorepo from separate repos (merging ...
In this post we'll look at how to combine multiple repositories into a single repository. The common reason you might want to merge...
Read more >
Merge two git repositories with history into subdirs and ...
This is my current setup: Two repositories which were seperatly developed: apprepo; librepo. These are both cloned and bundled into a rpm by...
Read more >
Consolidating multiple repositories into a Monorepo
Merging multiple single repositories into a Monorepo. Git natively supports the ability to merge multiple repositories, but it can be difficult ...
Read more >
Merging multiple repositories into a monorepo, while ...
How to merge multiple repositories, with their history, into a single repository, using the `git subtree add` command.
Read more >
Get your code together! Submodules, monorepo, or the third ...
It's one of the first commandments we learn when we begin to study ... 'git subrepo' - to name a few), but in...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found