Remix.run Logo
yellowapple 17 hours ago

I've been gradually migrating my Git repos to Fossil as I've been touching them. Been quite happy with it.

There are only a couple things that I miss:

- Grouping repos together into a combined project. I'd love to be able to have a single Fossil server/instance with a single set of users, wiki pages, tickets, etc. but multiple independent codebases. Closest I've gotten to that is to simply have multiple independent branches instead of a single trunk (example: https://fsl.yellowapple.us/avorion/home), and it's worked surprisingly well, but it's clear Fossil wasn't designed with this workflow in mind, so there are some rough edges with it (albeit minor and easy to work around).

- Compatibility with things that assume you're using Git. Being able to export to Git helps a lot here, but it's still extra steps. Ideal solution here would be for the Fossil server to be able to double as a Git forge and present repos accordingly, such that I can point things like CI/CD pipelines or Terragrunt module calls or whatever directly to the Fossil repo itself over the Git interface those things expect instead of having to setup a Git forge manually and somehow synchronize everything w.r.t. access controls.

- An equivalent to Git's submodules. This would IMO help address the “grouping repos together into a combined project” case as well.

somat 16 hours ago | parent [-]

There are login-group options which lets you have a single sign on with a group of repos, To unify the other bits it looks like it would be possible to change the main menu links to the central repo(in the web settings).

Never wanted to do what you want but it sounds possible

set up the fossil server on a directory of repos probably with --repolist to get a list

    fossil server --repolist /var/fossil/
get all repos in the same login-group

change the menus in each repo to point to the core repo. Based on some quick tests I suspect a full http:// url is required.

    - Forum     /forum       {@2 3 4 5 6}
    + Forum     https://mydomain.org/core/forum       {@2 3 4 5 6}