In an effort to do some experimenting with the latest release of Fossil:

./fossil-2.1 version
This is fossil version 2.1 [83e3445f67] 2017-03-10 17:07:08 UT

I wanted to export the fossil repository to git.  Then import the "git
file" back into fossil.  Being the first time to attempt this, there is a
good chance I am doing something wrong.  Below are the 2 fossil commands:

./fossil-2.1 export --git -R ./fossil-scm.fossil > ./fossil-scm.git
./fossil-2.1 import --git fossil-sha3.fossil ./fossil-scm.git

The import fails with an error: "bad fast-import line: [def.txt]"

Is there another option that I am supposed to be using?  Has anyone ever
successfully done this in the past?  I have tried this export->import with
fossil 2.0 and "version 1.37 [377fbf2ca7] 2017-01-19 13:46:04 UTC" which I
built from trunk awhile ago.  All failed to import what they exported.

An observation, the fossil init/new command supports the "--sha1" option.
Should the fossil import command support that as well?

The reason for the git import is that I was planning to use that as
baseline to help see the difference between sha1 and sha3 fossil
repositories (with no tickets and wiki artifacts).  What is the size impact
of the larger hash-id?  How much overhead is involved with the extra
calculations?  An import from the same data-set should effectively isolate
the sha1/sha3 changes and give an idea to the answers.  The basis of the
unfinished script is below and comments are welcome.

#!/bin/sh
# Download Fossil 2.0 as fossil-2.0
# Download Fossil 2.1 as fossil-2.1

# Use Fossil 2.1 to clone the fossil repository
./fossil-2.1 clone http://fossil-scm.org ./fossil-scm.fossil

# Export the fossil repository to git
./fossil-2.1 export --git -R ./fossil-scm.fossil > ./fossil-scm.git

# The git repo is now the "base-line"
# Phase 1: Do a full import
# Phase 2: Do a import without a rebuild and vacuum.  Time the rebuild
separately.

# Convert the base-line into a fresh fossil repo using Hardend SHA1
time ./fossil-2.0 import --git fossil-sha1.fossil ./fossil-scm.git

# Convert the base-line into a fresh fossil repo using SHA3
time ./fossil-2.1 import --git fossil-sha3.fossil ./fossil-scm.git
_______________________________________________
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