Jump to content

Concatenate fast-exports


Soho

Recommended Posts

As posted elsewhere we are having some trouble making Plastic import a fast-export file.

We are not able to wait for a solution much longer, so we will probably end up simple checking out the project in TFS and then adding all the files to a fresh repository in Plastic, losing all history in the process.

My question is, would be possible to inject a fast-export changeset history before all changesets in a Plastic reposistory, if some future version of Plastic can read the fast-export file?

I am imagining a process where two fast-export files could be merged or simply concatenated:

* export the new repro in Plastic as a fast-export-file

* Remove the first changeset, that adds all the files.

* Concat the original TFS fast-export with the new plastic fast-export (sans first changeset)

* Import the merged fast-export into Plastic.

Would this be possible?

Can you remove the first changeset by using a mark file?

Link to comment
Share on other sites

Hi, Soho:

I'm afraid that it's not possible, because the changeset references could be overlapped and you'd need to change them manually, which is not a very good option.

Regarding the inject history issue, we could try it since the fast-import command has been proved as a very flexible tool, but I cannot promise you that it will be done soon... :-(

Best,

Luis

Link to comment
Share on other sites

In the scenario, where a project is first migrated to Plastic by a single complete add changeset and all new changesets are committed in Plastic, then the old changeset history and the Plastic history would be end-to-end.

I ought to be doable to merge the two together. Possible with a little help from a perl-script or something. Obviously the "M" commands in the first changeset of the second fast-import would have to be patched to refer to some mark in the first fast-import, but that should be doable for a little script to keep track of.

Do Plastic implement fast-import as specified in the git fast-import man page or do you have another source documenting the file-format?

Link to comment
Share on other sites

Apparently Plastic does not interpret the fast-export format as Git does in subtle ways.

Git accepts quoted paths for M and D commands, Plastic does not.

Git uses octal iso-8859-1 notation for special characters. Plastic expects UTF8, A file called S\330REN in the fast-export file is Git way of writing SØREN, but Plastic reads it as S\330REN literally.

Also it looks like Plastic reads "author" and "committer" as ASCII, not UTF8 or iso-8859-1.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...