So git doesn't handle power failures so well...  And Fossil's use of
SQL, and SQLite3 in particular, is awesome.  But my colleagues and I
like git workflows, and anyways we have git repos we can't just
migrate to Fossil.  The obvious idea is to use a git post-receive hook
to backup git to Fossil, which would give us the ability to a) use
Fossil for informational purposes, b) use Fossil as a high-level
backup/restore for git.

However, a git->Fossil->git doesn't produce the same commit hashes.
It seems like it ought to be possible to reproduce the exact same
commits, therefore the exact same commit hashes.

Looking at the very first commit in a test run of a git->Fossil->git
conversion, the only differences are:

 - the commit author information (Fossil loses the comment part of the
author's RFC5322 email address)
 - the date (Fossil changes the timezone to +0000, that is, it loses
the timezone of the original).

If these two issues were fixed then at least the initial commit of the
repo I was testing this on would end up with the same commit hash.
I'm guessing there will be other minor differences in, for example,
merge commits, but first things first...

Two ideas occur for fixing this: either add metadata so that Fossil
can reproduce git commits exactly, or store the commit headers as-is
in Fossil along with Fossil's parsed metadata from the same.  The
latter will work better, but seems like a hack.  The former might
prove to be a lengthy iterative process and may be git version
sensitive.

Nico
--
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to