4 ms·
Can anyone give a conceptual model breakdown of the data model of fossil vs git and trade offs? I’ve been quite interested in these types of structures. I need
by dfischer 6y ago
Can anyone give a conceptual model breakdown of the data model of fossil vs git and trade offs? I’ve been quite interested in these types of structures. I need to play more with them.
- cbsks 6y agoThese web pages give a good broad overview of Git vs Fossil. They don't go into much detail about the internals, however. Fossil Versus Git: https://fossil-scm.org/fossil/doc/trunk/www/fossil-v-git.wiki https://fossil-scm.org/fossil/doc/trunk/www/fossil-v-git.wik... Why SQLite Does Not Use Git: https://sqlite.org/whynotgit.html https://sqlite.org/whynotgit.html Hints For Users With Prior Git Experience: https://fossil-scm.org/home/doc/trunk/www/gitusers.md https://fossil-scm.org/home/doc/trunk/www/gitusers.md
- aidenn0 6y agoThe first item on "why sqlite does not use git" asking for a timeline view. That looks almost exactly what "gitk" shows, which was builtin to git before github or gitlab existed. A quick scan of the other items are all more-or-less true so it's a shame it leads with that.
- rstupek 6y agoDidn't the author address that by stating "people install graphical viewers to get around this" and that this is not built into default git?
- aidenn0 6y agoNo because it's built into default git.
- wyoung2 6y agoIt isn't shipped on macOS, and the Homebrew version of Git has it packaged separately. I fired it up on a Git export of a Fossil repo here, and it's missing features of Fossil's web UI timeline view: 1. Cherrypick markers 2. Diff arbitrary versions (it shows only diff from previous) 3. Branch coloring 4. Hyperlinks to produce new timeline views: click author to get list of commits by that author, click timestamp to get a new timeline surrounding that point in time, etc.... 5. Integration with other web UI features. For instance, you can create a Fossil wiki article attached to a commit from Fossil UI, but you can't attach a GitHub wiki article to a Git commit from gitk. For another, Fossil has a feature to produce zip and tarball downloads of particular versions, which have links in the commit info page, which means visitors to your project don't need to clone the whole thing and roll it back to that version manually to get a single version. That's integrated into the Fossil web UI timeline: click a version, click Zip, done. 6. A modern browser fits its platform and offers more UI affordances than the mid-1990s Motif-inspired Tk. (Better copy/paste behavior, font rendering, zooming, native controls, etc.) Web UIs get a lot of angst these days, but like them or not, they're native citizens of the host platform these days in a way that Tk is not.
- aidenn0 6y ago> It isn't shipped on macOS, and the Homebrew version of Git has it packaged separately. That's a bit like saying python doesn't ship with a GUI because ubuntu split tkinter out; projects can't control what downstream does, and the complaint from the article was that they didn't want a second dependency; gitk is part of the git project so it's a single dependency just as much as relying on fast-import would be. Yes, I suspect fossil's timeline is better than gitk, particularly since gitk has changed almost not at all in the past decade. However the complaint was not that gitk was worse than timeline, it was that there was no tool even slightly like it in git (and then the github "network graph" was not part of git, and worse than the Fossil timeline; that particular point makes me think gitk was never considered).
- aidenn0 6y agoAs a side note, #3 isn't possible in git because commits don't belong to branches, but that's addressed in a different point from the article in question.