On 12/27/15, Ron Aaron <r...@ronware.org> wrote:
>
> Can you explain which tables need to be accessed for tickets?  It should be
> simple enough to accomplish such a transfer with a few sqlite commands (I
> hope).
>

A Fossil repository is just a pile of artifacts.  See
https://www.fossil-scm.org/fossil/doc/trunk/www/fileformat.wiki for
details.  Your task is to copy all of the ticket artifacts (and only
the ticket artifacts) from one repository to another.  After doing
this transfer, you'll also need to run the "fossil rebuild" command in
order to rebuild the metadata for those ticket artifacts.

The SQL shown below should be sufficient.  I tested this SQL by
creating a new repository named "x2.fossil" using the "fossil new
x2.fossil" command.  Then I ran "fossil sql" on the repository I
wanted to transfer the tickets from.  Then I typed ".read
xfer-tkt.txt" to read in the following script.  Then I exited the SQL
shell and typed "fossil rebuild x2.fossil".  That seemed to do the
trick for me.  If your "x2.fossil" is a long-established repo, you may
want to test this procedure on a back-up copy first.

ATTACH 'x2.fossil' AS other;
INSERT INTO other.blob(size,uuid,content)
  SELECT blob.size, blob.uuid, content(blob.uuid)
    FROM main.tag, main.tagxref, main.blob
   WHERE tag.tagname LIKE 'tkt-%'
     AND tagxref.tagid=tag.tagid
     AND blob.rid=tagxref.rid;

-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
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