Post by Richard Hipp
Your suggestions for useful features found in GitHub but missing from
Fossil, or for pages in GitHub that work especially well and that you
would like to see replicated in Fossil, are greatly appreciated.
I think the answers depend on specifics of project workflow.
GitHub is a social platform ("social coding"), so its central features
are about providing places and tools to interact.
That SQLite repo on GitHub still just has the original Fossil's repo
history, so not much of "social" content (other than usernames).
In my workflows, the SCM part of GitHub is the least used -- Git
command line and IDE plugins give more than enough ways to present
timeline, show diffs, annotate code etc. If anything to point out
about the SCM view:
* the ease of Branch/Tag switching via drop-down box, yet Fossil's UI
timeline view better visualizes concurrency of branch development.
* timeline marks "conversations " i.e. commits that have user comments
-- it's easy to follow a conversation; again it's "social" part
Looking at the social part of GitHub -- that's where most areas are
just different vs. Fossil.
In a way, GitHub is just a giant structured message board:
* allows conversations on commits, code lines, push, pull requests
* the whole code-review system via pull request/merge
* issue-tracker allows assignment to contributors
* issue numbers are sequential (no-go with Fossil as tickets are
* convenient dashboard shows number of outstanding issues (assuming
the intended state is 0, which often is not the case :))
* notifications, when relevant
* nice wiki editing toolbar (for Markdown) -- helps to "non-coders"
contributors used to toolbars
* CONSISTENCY -- this all appears to nicely "fit together" (by now);
edit text-boxes are uniform and support same input formats
Another useful feature is a link to travis-CI (continuous integration)
-- it's a service and does need a set up, but again it "fits".
This does not mean I'd like to see these features ported to Fossil.
That would change the Fossil-specific workflow which is lightweight
and distributed, as opposed to "centralized" GitHub. In fact most of
the "social" features assume a central repo.
I guess, as long as we could define and replicate CONSISTENCY, the
current Fossil UI features are sufficient already.
Maybe we could collect more real-life Fossil project use-cases (so far
the most prominent are SQLite and Fossil).
Basically, outlining the actual setup and project workflow used,
challenges too -- this could be an easier way to follow for someone
thinking to start a new project. Also it will help expose both the
useful and the missing features.
I'm currently facing a challenge to convince a non-coder contributor
to learn basic Markdown and not "freak-out" about all the other
buttons on the Fossil wiki page...Then will come a question about
inserting images in wiki...