On Tue, Dec 26, 2017 at 5:10 AM, Richard Hipp <d...@sqlite.org> wrote:
> On 12/25/17, Shekhar Reddy <shekharreddy.k...@gmail.com> wrote: > > > > Is there any particular reason that the source is not moved to GitHub? I > > think that would reach more number of people there. > > > > There is a mirror of the SQLite repository on GitHub at > https://github.com/mackyle/sqlite (maintained by GitHub user "mackyle" > whom I do not know, but whose efforts I do appreciate). > > SQLite uses a different version control system called Fossil. See > https://www.fossil-scm.org/ for more information about Fossil. Fossil > is superior to Git+GitHub in many respects. You can easily see this > by doing a side-by-side comparison of the SQLite Fossil repository > against the GitHub mirror. > > For example, here is the GitHub view of the "dbpage" branch of SQLite: > > https://github.com/mackyle/sqlite/commits/dbpage > > Compare the above against the equivalent Fossil view: > > https://www.sqlite.org/src/timeline?p=dfdebd12bfc80b91 > > The Fossil view clearly shows that the head of "dbpage" is the merger > of two other branches, and Fossil shows clearly where the branch > diverged from trunk. That information is very difficult to discern > from the GitHub view. > That's a limitation of the webpage interface not of git itself... (would include a picture but I can't... well maybe I can indirectly... https://drive.google.com/open?id=1mhDcCotCMVyI3PF70dCvD4AAyVZGVoWW > Fossil also has the ability to show the complete context of an > individual branch. For the "dbpage" branch, the context is shown > here: > > https://www.sqlite.org/src/timeline?r=dbpage > > Note in particular that Fossil clearly shows that the "dbpage" branch > was ultimately merged back into trunk. GitHub does not provide that > information, as far as I can tell. > Or all the forks of a popular project... https://github.com/bulletphysics/bullet3/network > > The basic problem with Git (apart from its notoriously convoluted user > interface) is that it is based on a (bespoke) key/value database - the > "packfile". Fossil, on the other hand, is based on the most widely > used relational database in the world. This make information much > easier to extract from Fossil than from Git. For example, given a > commit in Git (perhaps one reported by a customer or one found via > bisect) there is no easy way in Git to find out what comes next - what > commits were entered using your commit as a baseline. Git shows > ancestors, but not descendants. Fossil, on the other hand, easily > shows both descendants and ancestors of a check-in. You see this in > the "Context" section of any Fossil commit page, such as > https://www.sqlite.org/src/info/dfdebd12bfc80b91 > > The fact that Git/GitHub does not show the descendants of a commit is > a show-stopper for me. > > For t he view around a single commit I can see that might be something you could get used to... but the graph line is complete and available to know what is both before and after a commit in overall views. > Finally, the use of GitHub would create a reliance on an outside > company over which we have no influence. The people who run GitHub > today seem like great folks. But the company might be sold or fall > under new management tomorrow, and the friendly and open policies that > govern GitHub today might change in an instant. Fossil, on the other > hand, is very simple to self-host on a $5/month VPS. (SQLite uses > https://www.linode.com/ for its main servers and > https://www.digitalocean.com for the https://www3.sqlite.org/ backup. > There are lots of others.) > > So, given that Fossil is freer than Git (BSD vs. GPL), that Fossil > embodies all of the functionality of both Git and GitHub, that Fossil > is more capable than Git/GitHub, that Fossil has a friendly user > interface than Git, and that Fossil is very easy to self-host and thus > frees you of any dependencies on third-party companies, the question > becomes: > > Why aren't you moving all of your GitHub projects over to Fossil! > > Because Pull Requests, and a larger variety of tools to deal with Git repositories. _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users