Coder Social home page Coder Social logo

Comments (7)

MichaelMure avatar MichaelMure commented on July 29, 2024

Damn, how come people find this repo when I didn't advertise it ?

I noticed the OT based approach for the Data Model for a BUG. Wondering if you think this is better than the CRDT approach ?

I had the idea to use CRDTs in the beginning (

git-bug/notes

Lines 39 to 54 in 5751cd8

G-Set (append only log)
-----
- create bug
- change title
- add/edit/hide/unhide/delete comment
LWW-e-Set (add + remove, based on timestamp)
---------
- label
- assignee
- project
- milestone
), but thinking more about it I found out that I could leverage git's datastructure and guarantees to solve the conflict problem. For example, git will, by default, refuse to update a reference in a non-fast-forward way. That means that you can't remove a commit and the associated operations. You can only add some new one. That means that you have to rebase properly your operations before pushing your changes. You don't need to have a git-bug aware remote. As a general rule, I think staying as close as possible to the normal git use-case make git-bug a less special use-case, and reduce the risk of incompatibility.
That said, it might be a good idea to have a hook available that an admin could install to make refuse a push with invalid data.

But anyway i was thinking about how lots of users have to fork and then manage setting up the brnahc and then doing a PR. It can be tricky for new golang users. SO i want to suggest that this be incorporated later. I saw a repo in golang just the other day that did this.

Hmm, I'm not sure what you are talking about, can you clarify ? If you mean that user have to clone the depo and use git-bug to submit a new bug, well, no necessarily. The web UI is designed to, in the future,
be used as a public interface as well. It would need to have some kind of authentication to identify users though.

The code base looks really clean and easy to follow and i want to congratulate you on this excellent work.

Thanks ! Also, golang being quite picky about circular-reference force you to have a cleaner design ...

In terms of a github server, do you envisage users using gitea or other ?

You can use whatever git server you want, whatever network transport you want. Even a repo in a mounted filesystem can be used as a remote if you want to. That's how the tests are run.

from git-bug.

 avatar commented on July 29, 2024

hehe. Yeah i found your repo when searching for graphql.

Thanks for all the info and answering my questions

i should explain what i meant about the old Fork, Branch dance.. See links

https://blog.sgmansfield.com/2016/06/working-with-forks-in-go/

https://stackoverflow.com/questions/14323872/using-forked-package-import-in-go

from git-bug.

MichaelMure avatar MichaelMure commented on July 29, 2024

git-bug is entirely decoupled from the normal files and branches used for the code of your project. That means that a bug is not stored in a specific branch or anything. As a fork is simply another git remote, you can push/pull your bugs there as well. No special tooling needed in git-bug for that IMHO.

from git-bug.

 avatar commented on July 29, 2024

from git-bug.

 avatar commented on July 29, 2024

from git-bug.

MichaelMure avatar MichaelMure commented on July 29, 2024

http://go-fed.org/

This goes nowhere.

from git-bug.

 avatar commented on July 29, 2024

from git-bug.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.