Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ideas #14

Closed
prologic opened this issue Dec 24, 2022 · 11 comments
Closed

Ideas #14

prologic opened this issue Dec 24, 2022 · 11 comments

Comments

@prologic
Copy link
Contributor

@icyphox Hey 👋 I'm not sure what your plans are for this project, but just in case our goals align, here's what I'd like to achieve (assuming I continue hacking on this):

Basically what you've got so far now +

Footnotes

  1. However this may not be well thought out yet, as I'm not sure how "code reviews" would work (without reinventing giant wheels and adding a lot of bloat)

@icyphox
Copy link
Owner

icyphox commented Dec 24, 2022 via email

@prologic
Copy link
Contributor Author

@icyphox Thanks for the quick updat!

Very cool project. The author of git-bug reached out to me regarding
integrating legit and git-bug, but I had to turn them down because I
personally wouldn't use it -- and don't want to spend cycles on it as a
result.

Was this done privately or over some public medium I missed? I'd be curious to work with @MichaelMure on something like this myself, however it would then likely mean I would hard-fork my version of legit and we would diverge. Which is okay 👌

I do also want to support Push with Auth (probably over SSH I think) and some kind 'f Review" process (but as I said, I'm not sure how yet...)...

Again, thanks for the great work you've done so far! I'm interested mostly because it might b e nice to have something in between something like cgit/sagit and Goga/Gitea (but now as feature rich/heavy).

@prologic
Copy link
Contributor Author

Just as an aside, I just discovered git-apprise which along with git-bug (which both operate in a similar manner) might be a nice way to do fully "distributed" and "decentralised" Git hosting + Issue tracking + Code reviews 👌 -- I'd be all over this 😎

@icyphox
Copy link
Owner

icyphox commented Dec 24, 2022 via email

@prologic
Copy link
Contributor Author

Heck, maybe even throw in ActivityPub into the mix
like what Gitea is doing.

That was a joke right?! 🤣

@MichaelMure
Copy link

Chiming in as I've been pinged. My 2cts:
I certainly don't want to steal anyone's thunder, and legit has a point on its own as a purposely-simple read-only git viewer.

At the same time, a git viewer (logs, commits, code ...) would be super useful in git-bug, and is almost a requirement to sanely support pull-requests (git-bug/git-bug#373).
git-bug is also a superset of legit's feature, and as the webUI support a read-only mode, it could also fill-in exactly legit's usecase, possibly with an option to hide the extra bug/PRs ... stuff, and a larger binary.

So my thinking really is just that: we seemed to be like minded individuals, what if we teamed together to make that truly distributed + self-hosted git forge idea a reality?

I just discovered git-appraise which along with git-bug (which both operate in a similar manner)

Same purpose, but actually quite different under the hood (git notes vs graph CRDT like structure). git-appraise showed that this kind of things were possible, but I like to believe that git-bug is now in a more capable, viable and robust place to build such a forge.

maybe even throw in ActivityPub into the mix like what Gitea is doing.

Sounds like a good idea to me, so that different forges (or even multiple instances of the same forge) can cooperate. I'm curious to have your take on this as it seems like you have worked in that area.

@MichaelMure
Copy link

On the technical side of things, git-bug and legit share two important things (golang and go-git), but diverge on one: legit render things server-side with go templates, git-bug has a HTTP+GraphQL API and a React SPA. Exercise is left to the reader to judge what's best :-)

@prologic
Copy link
Contributor Author

Hi @MichaelMure 👋 I agree, I'm sure if we find the time, energy and effort we could build something awesome 👌 -- However I'm personally a bit of a strickly (grumpy old man) when it comes to "distributed" vs. "decentralised". I'd love to see something that utilises the best parts of Git itself, rather then forming a "distributed networking protocol" (such as is ActivityPub) -- That is why I'm quite intruiged by leggit, git-but and even git-apraise (to a lesser extend, though I agree with you I'm not happy about its design and storage, I'd rather see it use the same data structures as git-but).

@prologic
Copy link
Contributor Author

On the technical side of things, git-bug and legit share two important things (golang and go-git), but diverge on one: legit render things server-side with go templates, git-bug has a HTTP+GraphQL API and a React SPA. Exercise is left to the reader to judge what's best :-)

I think this depends whether you want something truely client-side only or a bit of both. There is a good use-case for both, but without centralising issue tracking, pull request reviews and credentials onto a single instance (distributed the issues, reviews via git-bug's storage, etc)

@MichaelMure
Copy link

I'd love to see something that utilises the best parts of Git itself, rather then forming a "distributed networking protocol" (such as is ActivityPub)

Ha, I see your point and agree. Using git as storage and transport is the way (it can even be made truly p2p/global by merging every repo in the same key space). However, there is still a point for interop with other forge with things like ActivityPub.

@prologic
Copy link
Contributor Author

there is still a point for interop with other forge with things like ActivityPub

I've yet to see what that point is yet, but happy to be prove wrong 😅

@prologic prologic closed this as not planned Won't fix, can't repro, duplicate, stale Dec 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants