Jump to content

Fastimport with blanks in paths


michivo

Recommended Posts

Hi,

we're migrating a svn-repository to Plastic. We chose to first migrate the repository to git, then export using fastexport and import using cm fastimport.

However, we ran into some problems: There are many paths containing spaces in our repository.

What we got out of git fast-export were lines like

R foo/1.008.002/foo bar.baz foo/1.008.002/foo baz.bar

There's no way an importer can tell where the first path starts and where the second path ends, so both git fast-import and cm fast-import failed.

What we did is patch git, so all paths containing spaces are surrounded with quotes, e.g.

R "foo/bar/00020007/1.008.002/foo bar.baz" "foo/bar/baz/00020007/1.008.002/foo bar.baz"

Now git fast-import works, but cm fast-import still fails. When running into the first path surrounded by quotes, we get the following error message:

Error: Illegal characters in path.

Do we need to escape the blanks? How? Or how would plastic's fast-import accept and correclty parse the line above?

Thanks, br, michivo

Link to comment
Share on other sites

I now removed all blanks in all paths in my 10GB-fast-export-file (just for testing purposes, this is not a real option for us! We still need a solution for that.)

When running cm fast-import, it runs through the first 800csets, then the import is stuck - no error message, the export-marks file remains unchanged, nothing happens. And since there is no --verbose option, I guess we won't get any additional information out Plastic, right?

What is the suggested way of importing a svn-repo to Plastic?

We tried svn -> git -> [fast-ex/import] -> Plastic 4 -> pain in the a**, as described above

We tried svn -> Plastic 3 -> Plastic 4 -> missing files, missing changes, "dangling" branches... pain in the a**, too

Link to comment
Share on other sites

Hi michivo,

can you tell us which version of git are you using? The 1.7.6.X Git versions are affected by a similar issue than the one you are facing check this: http://www.plasticscm.net/index.php?/topic/665-git-bug-in-fast-export-command/

You can follow this blogpost about migrating from SVN to plastic, I think it's the easier way: http://codicesoftware.blogspot.com/2012/02/migrating-from-svn-to-plasticscm.html

Link to comment
Share on other sites

Apparently I didn't make myself clear:

There is a bug in Plastic, not in Git. We tried Git 1.7.5, 1.7.9 and a patched version of 1.7.9.

Plastic's cm fi fails when a path is surrounded by quotes, it fails with Error: Illegal characters in path. So the fix in Git causes Plastic to fail. Bad for us...

Btw, we followed the same approach as described in the blog entry, but since there's this bug in Plastic, the import fails.

I also found out what caused cm fi to stall after the 800csets: After removing all blanks, there was a Rename operation in the fast-import file where source and target path were the same. I guess you should handle that a bit more gracefully...

Btw, it was you who stated that Plastic does not handle quotes correclty in this thread.

Link to comment
Share on other sites

Hi michivo, thanks for the explanation.

Can you repeat the git export using the 1.7.5 version and the "--no-data" parameter? Please send to us the result package, we will debug it and we'll try do to a fix asap.

The "--no-data" package only includes scm metadata, not source code or personal information.

You can send it to mlucio at codicesoftware dot com

Link to comment
Share on other sites

  • 4 months later...
  • 3 months later...

Plastic guys, did you do anything about this issue? I'm experiencing the same with 4.1.10.359.

It's really a problem. My repository contains a couple of file names with spaces and I already spend about three mandays getting the svn → git → (reposurgeon →) plastic 'recommended' migration path working. What's more, it's useless without 'reposurgeon', another malfunctioning open source tool which needs to be debugged, fixed and tweaked to be working. The absence of a working and supported migration tool is BIG FAIL for plastic.

I'm starting to be pesimistic about the whole thing.

Link to comment
Share on other sites

Hi tucny,

I'm sorry to hear about that.

Can you please generate a git fast export with no data and send to us? We'll try to debug the issue and give you an answer. (git fast-export --no-data)

You can reach me at mlucio at codicesoftware dot com.

Link to comment
Share on other sites

Greg,

it's not about who asks and where. We always try to give a good support service, in most of the cases over the "Community edition" support rights, GoToMeeting connections, hot fixes and so on.

I did't notice your last post, sorry. If you are facing the same issue feel free to send the nodata package to the same address.

Link to comment
Share on other sites

Rarely angry!

I was verbally promoting PlasticSCM in the midst of a Git discussion at Iowa Code Camp's speaker dinner last Friday night. I say - "Yes - I love the Git paradigm. Totally bought in. That's why I've chosen PlasticSCM - it's the same paradigm, but done with polish!"

Now, if I could just get a clean migration from VSS, we'd actually be using it now. However, we missed our window for this year due to all the conversion issues. Hoping to get up and running in the spring!

Link to comment
Share on other sites

  • 5 months later...

Hi,

We are evaluating PlasticSCM, first by trying to migrate our existing git repo to it, and we are facing exactly the same issue describe here. We have some paths in the git export file that are surrounded by double quotes "", that are considered as invalid paths by Plastic. If we remove the "" and the path contains blank space, the cm import will fail as well.

 

Is this issue still under the radar with an expected fix? This is a showstopper issue for us right now.

 

Thanks

Link to comment
Share on other sites

  • 1 month later...

Hi All,

Sorry for the delay, the issue has been fixed in the 4.2.342 release, remember that you can download it from our labs section.

It's also available for the 4.1 series, it was integrated in the 4.1.431 release.

All the feedback will be appreciated.

Best regards,

Manu.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...