News for hackers. Stuff that matters.
Re:Fossil – Simple, high-reliability, distributed software c... by jrapdx3 on Thursday December 04, 2014 @12:01AM (#8697881)
Thanks for the link. I use Fossil for a few projects. While it's not too complicated to set up Fossil repositories on the web, the Chiselapp "hub" would make it even easier and probably a lot more reliable.

One of the things to like about Fossil is its concept of record immutability, that is, data is retained intact in the database even when superseded by a newer version. Fossil asserts a highly ethical position, that revising historical facts is not an acceptable practice.

Using Fossil over the last couple of years, its performance and stability have been rock solid, and I haven't experienced any data loss or other problems with it.

Re:Fossil – Simple, high-reliability, distributed software c... by gioele on Thursday December 04, 2014 @04:34AM (#8698513)
> One of the things to like about Fossil is its concept of record immutability, that is, data is retained intact in the database even when superseded by a newer version. Fossil asserts a highly ethical position, that revising historical facts is not an acceptable practice.

There is big drawback in making it very hard to edit "history": you are bound to carry in your project all sorts of things that you do not want to. And this becomes an even worse problem when you combine source code, tickets and a wiki as Fossil does.

Somebody posts spam as tickets? Now you are bound to have traces of that spam forever in your published repository.

I switched away from bzr to git, just like many others, also because bzr made it impossible to fix small stupid mistakes. OK, I pressed Enter while reaching out for the shift key and made a commit with the wrong commit message. Why do I have to keep that? What does the project gains from this?

I think the problem here is with the word "history". We attach a lot of meaning to that word and nobody wants to be a "history rewriter" or a "revisionist". I prefer more neutral terms like "patch queue" or "version chains". "I polished the chain" sounds much better than "I rewrote history".

Re:Fossil – Simple, high-reliability, distributed software c... by Toenex on Thursday December 04, 2014 @05:09AM (#8698591)
I agree that there is a difference between the actual history of a project and the writing of that history in a repository. We all make mistakes and rebase can be used to correct them. Fossil just takes the other view that we all make mistakes and we must live with them. I guess the choice of which to use very much depends on the circumstance. I use svn, hg and fossil choosing fossil more recently for my personal work for the simplicity of having code and wiki in a blob I can easily move.

On a side note I'd probably refrain from using the phrase "polished the chain" due to the euphemistic nature of 'verb the noun' statements and my natural British tendency to avoid talking about sex explicitly and thus think everyone is talking about sex implicitly.

Re:Fossil – Simple, high-reliability, distributed software c... by jrapdx3 on Thursday December 04, 2014 @05:37AM (#8698660)
In Fossil it's not impossible to remove offensive content, though deletion is discouraged. Fossil's policies and content removal procedures are discussed here: http://fossil-scm.org/index.html/doc/tip/www/shunning.wiki

It's also possible to access everything in the repository using the command:

    fossil sqlite3
which opens a command line accepting sql queries. If one knows how to modify the database, then tickets, etc. can be edited. Probably, using the "official" methods to remove content is a lot safer.
Re:Fossil – Simple, high-reliability, distributed software c... by sgbeal on Thursday December 04, 2014 @09:10AM (#8699245)
FWIW: simply removing records from your repo db (in particular the blob table) _will_ corrupt it. Fossil stores deltas and other metadata which span blobs, and it's not trivial (and in many cases not possible) to separate them post facto. Hypothetically it would be possible to "pop" the top-most change from a repo, then repeat that, going all the way back to the start of the repo, but it's not possible to remove something from in the middle without the equivalent of a 4-way heart bypass surgery.
Re:Fossil – Simple, high-reliability, distributed software c... by sgbeal on Thursday December 04, 2014 @09:07AM (#8699234)
i've been working with/on Fossil since late 2007, and within the Fossil team we are not aware of _any_ loss of data except that caused by "system events" or severe user error (e.g. once i accidentally included a repo db in a sed filter, corrupting it).
Re:Fossil – Simple, high-reliability, distributed software c... by dalke on Friday December 05, 2014 @11:39AM (#8705353)
What about https://www.mail-archive.com/[email protected]... ?

[Richard Hipp]: The bug that you hit had been there for ages - it wasn't new. But it was obscure. You were just the first to stumble over it. Sorry.

The bug in this case caused a loss of uncommitted work.