On Wed, Mar 3, 2010 at 3:41 AM, Jakub Narebski <jnareb@xxxxxxxxx> wrote: > Kārlis Repsons wrote: >> On Tuesday 02 March 2010 16:12:22 Jakub Narebski wrote: >> > Kārlis Repsons <karlis.repsons@xxxxxxxxx> writes: > >> > > which VCS besides git provide chaining of commits with help of some >> > > cryptographic hash function, warning about or not allowing commits to be >> > > deleted on an equivalent of pull action, so that all added pieces of data >> > > can be retained securely on client side? >> > >> > Could you rephrase your request in more clear way? >> >> On top of what you wrote already, I'd like to know which VCS have immutable >> history, which can all be stored (say, gradually accumulated) on clientside? I >> hope, that explained the idea... > > As I wrote, all VCS which use cryptographic hash function (digest) for > commit identifier have immutable history. That's not exactly correct. Monotone works very differently; a revision doesn't include the ancestry, that's handled in a separate structure, so the revision hash doesn't tell you anything about the ancestry. In fact, a revision doesn't contain anything, the data is handled by "certs", and certs can be added later. For example, it's possible to clone a repository and then add a second commit message to a bunch of revisions. The revision hash doesn't change. Instead, they ensure security by signing every piece of data about a commit (commit date, author, commit message). So it's possible to have multiple commit dates, authors, messages, etc. each signed by a different person. I'm not really fond of this approach :P -- Felipe Contreras -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html