3 ms·
This looks great! I'll very much consider using it for my next project, if only for the warm feeling in the stomach that my bugs are close to the project itself
by nathell 8y ago
This looks great! I'll very much consider using it for my next project, if only for the warm feeling in the stomach that my bugs are close to the project itself. Huge kudos to the author.
The one thing that I'm not sure about is the separate `git bug push/pull` commands. I guess it makes sense, but I'd prefer ordinary `git pull/push/fetch/merge` to seamlessly handle syncing bugs around.
- michaelmure 8y agogit-bug store the data in separate references that are not in `refs/head`, so they are not recognized as branches. This is meant to not pollute the normal code workflow. git push/pull doesn't touch references outside of branches and git-bug has special code in the push/pull commands to merge bugs when needed.
- jimktrains2 8y ago> git-bug store the data in separate references that are not in `refs/head`, so they are not recognized as branches How does that work with garbage collection?
- michaelmure 8y ago`git gc` will garbage collect what is not referenced by a ref anymore, including arbitrary references. So it's fine ! As each bug reference the file blob needed, once your delete a bug, `git gc` will clean these blob as well.
- snuxoll 8y ago`git gc` will also garbage collect any ref that isn't used by a current branch/tag (under refs/heads and refs/tags), the index (staging), originals from filter-branch (refs/originals), and reflogs. The question isn't whether the data will be garbage collected, but how the active data AVOIDS being garbage collected - git gc only targets a pretty small amount of refs to preserve.
- sounds 8y agoI'm not the author (he'll probably comment here in a sec), but if this is a problem, perhaps this project could become a patch to git itself. I'd be fine running a patched git that knows about bugs. Of course, then I'd want to make it a little more generic, and not care whether I was dealing with an issue tracker, a wiki, etc.
- michaelmure 8y agoBugs are referenced at refs/bugs/<id> and refs/remotes/<remote>/bugs/<id> and those are not garbage collected.
- avar 8y agoYou are wrong about the semantics of git-gc. It will consider for garbage collection all objects that are not referenced, and a reference is everything under refs/*, in addition to the other things you mentioned (index, reflogs etc.).
- snuxoll 8y agoThe documentation on the man page does not make that clear, if explicitly calls out specific ref types - so that makes more sense.