Aaron K Posted November 20, 2011 Report Share Posted November 20, 2011 Hi everyone. I'm currently trialing Plastic SCM (4.0) for our company and one thing we need to do is convert our old VSS repository, with history, into Plastic. I have tried running the Plastic importer but have been getting strange results. What I end up with when it's finished is a new workspace directory with files, but nothing is actually in the repository. If I then add those files to source control, obviously they have no history. Looking at the logs I see a few lines like. 2011-11-21 10:15:13,710 WARN Importer - The line History of $/@dev.700/dev.doc/docname.txt ... doesn't match in any state AND 2011-11-21 10:15:40,570 ERROR qn - Can't solve the SID for Builder. No mapping between account names and security IDs was done NOTE: Builder is our build machine that labels our source before performing official builds. I'm not sure if these errors or warnings are causing the problem, but the importer doesn't tell me that anything is wrong. Now I had previously installed version 3, before discovering 4 was around and I have noticed the importer comes with 3, not 4 so maybe this is an issue. But any help would be appreciated as we very much want to move to Plastic but it's rather important for us to get our current code base into it with history. Many thanks Aaron Link to comment Share on other sites More sharing options...
psantosl Posted November 21, 2011 Report Share Posted November 21, 2011 Hi Aaron, First my apologies for the unclear migration path. Look, we rewrote the entire migration stuff for 4.0. Migration is a dirty business so we changed the whole thing and jumped into fast-import new wave So, we still didn't write down the migration path, but it is pretty doable. Check this: http://git.661346.n2.nabble.com/VSS-to-git-td2410442.html. Basically, you need to generate a fast-import format, which is the format used by git, mercurial (hg) and now plastic 4.0. Alternatively check: * http://code.google.com/p/vss2git/ * And then: http://codicesoftware.blogspot.com/2011/10/connecting-plastic-scm-to-github.html I'll try to come up with more info tomorrow. Link to comment Share on other sites More sharing options...
Aaron K Posted November 28, 2011 Author Report Share Posted November 28, 2011 Hi there. Thanks a lot for that information. In my preliminary tests, migrating via Git with vss2Git seems to work well. I am going to try this on a real development source repository. Link to comment Share on other sites More sharing options...
manu Posted November 29, 2011 Report Share Posted November 29, 2011 Great Aaron! tell us if all works fine! regards, Manu. Link to comment Share on other sites More sharing options...
Aaron K Posted November 30, 2011 Author Report Share Posted November 30, 2011 Hi Manu. I have had some mixed success. A few of our smaller VSS projects are migrated but the core ones don't seem to want to work. I turned on some detailed debugging (I found info on that in another post on these forums) and these are the results I'm getting when I use fast-import. I get a bunch of lines like this 2011-11-30 16:58:39,049 2864 (null) (null) (null) DEBUG fast-import - Read mark : [2501] Then: Can't add from 2498 to commit 2510 because it wasn't processed yet Then: mark :2508 blob mark :2509 commit refs/tags/build_1000 mark :2510 author NAMEREMOVED <NAMEREMOVED@DOMAINREMOVED.com> 1093390130 +0000 committer NAMEREMOVED <NAMEREMOVED@DOMAINREMOVED.com> 1093390130 +0000 data 30 Error: Can't add from 2498 to commit 2510 because it wasn't processed yet 2011-11-30 16:58:39,080 2864 (null) (null) (null) ERROR cm - Error: Can't add from 2498 to commit 2510 because it wasn't processed yet 2011-11-30 16:58:39,112 2864 (null) (null) (null) ERROR cm - at hu.a(bz A_0) at gi.a(RepositoryInfo A_0, String A_1, a A_2, String A_3, String A_4, Boolean A_5, Boolean A_6) at mz.a(b A_0) at w1.c(String[] A_0) After that the operation to fast-import stops. I can email you the full log file if you want. Link to comment Share on other sites More sharing options...
manu Posted December 1, 2011 Report Share Posted December 1, 2011 Hi Aaron, yes please email me the complete log, mlucio at codicesoftware dot com Are you finally using vss2Git to perform the fast-export? Can you try to use vss2svn, then git-svn and finally create the fast-export package to be imported by PlasticSCM? Regards, manu Link to comment Share on other sites More sharing options...
Aaron K Posted December 1, 2011 Author Report Share Posted December 1, 2011 To add, I don't think we can use vss2svn. There's multiple versions out there and of those, the ones that seem to actually implement all the required features (branching) seem to rely on a Visual Studio 2005 version of VSS and the VSS interop library. However, we are running an ancient version way back at VC 6 so do not have that. Link to comment Share on other sites More sharing options...
manu Posted December 2, 2011 Report Share Posted December 2, 2011 Hi Aaron, can you please perform the fast-export from git again but this time with the "--no-data" parameter? This will create a package without data, only history metadata and smaller, then send you us the package and we will debug and fix the issue. You can send the package to support at codicesoftware dot com. Regards, Manu Link to comment Share on other sites More sharing options...
psantosl Posted December 3, 2011 Report Share Posted December 3, 2011 Please also remember to add the -C thing to git. Check this: http://codicesoftware.blogspot.com/2011/10/connecting-plastic-scm-to-github.html The error you sent seems related to a commit out of order (like a parent changeset created after a child, which can only happen due to an error in the import or export, but it is quite unlikely once it is inside git) Link to comment Share on other sites More sharing options...
Aaron K Posted December 5, 2011 Author Report Share Posted December 5, 2011 Hi Aaron, can you please perform the fast-export from git again but this time with the "--no-data" parameter? This will create a package without data, only history metadata and smaller, then send you us the package and we will debug and fix the issue. You can send the package to support at codicesoftware dot com. Regards, Manu Thanks Manu, the file has been sent. Psantosl, I use the command line as specified in that link. Link to comment Share on other sites More sharing options...
manu Posted December 5, 2011 Report Share Posted December 5, 2011 Hi Aaron, I've the package, we will try to find the problem ASAP. Anyway, try also Pablo's suggestion. Regards, Manu. Link to comment Share on other sites More sharing options...
manu Posted December 5, 2011 Report Share Posted December 5, 2011 Hi Aaron, I've tested the "nodata" package and it seems to be working fine for me, can you test to import it to a new repository? Regards, Manu. Link to comment Share on other sites More sharing options...
manu Posted December 5, 2011 Report Share Posted December 5, 2011 Hi Aaron, have you been performing your fast-imports using the "--stats" parameter? If so, please re-import the failed packages WITHOUT the "--stats" parameter. It seems that the command is having some troubles generating the statistics. Regards, Manu. Link to comment Share on other sites More sharing options...
Aaron K Posted December 5, 2011 Author Report Share Posted December 5, 2011 Hi Manu, first thanks very much for all your help. Yes I was using the --stats option (I must have got that option from somewhere during my searches for help). When I removed that option I tried doing an import from the no-data file and that was OK. However when I then went performed an import without the --stats option but with real data I got this error after about 30 seconds of import. Error processing changeset mark 5570. Parent cset mark: 4651. Parent cset: 8 Illegal characters in path. Followed by a bunch of filenames, followed by Error: Illegal characters in path. 2011-12-06 10:58:45,848 2308 (null) (null) (null) ERROR cm - Error: Illegal characters in path. 2011-12-06 10:58:46,473 2308 (null) (null) (null) ERROR cm - at System.IO.Path.CheckInvalidPathChars(String path) at System.IO.Path.GetFileName(String path) at nz.a(AddInfo A_0, String A_1, ArrayList A_2, ah A_3, aae A_4) at nz.a(ArrayList A_0, ah A_1, aae A_2) at nz.a(IList A_0, ah A_1, aae A_2) at xq.a(d A_0) at xq.b(d A_0) at xq.a(a A_0) at xq.b(a A_0) at xq.a(as3 A_0, Int64[] A_1) at if.a(as3 A_0) at gi.a(RepositoryInfo A_0, String A_1, a A_2, String A_3, String A_4, Boolean A_5, Boolean A_6) at mz.a(b A_0) at w1.c(String[] A_0) Unfortunately it doesn't print out what the path is and the dump of filenames immediately before do not look like obviously faulty paths. Cheers Aaron Link to comment Share on other sites More sharing options...
psantosl Posted December 7, 2011 Report Share Posted December 7, 2011 If you open your fast-exported repo and look for this exact string :5570 You should find the faulty paths... Or a bug! Link to comment Share on other sites More sharing options...
Aaron K Posted December 8, 2011 Author Report Share Posted December 8, 2011 Hi Pablo, thanks for the suggestion. Around the :5570 is the following commit refs/tags/build_1000 mark :5570 author REMOVED <REMOVED@REMOVED.local> 1093390726 +0000 committer REMOVED <REMOVED@REMOVED.local> 1093390726 +0000 data 30 Maintenance branch for REMOVED+ from :4651 and under that a list of files. I assume the files under that mark command are the related files because I found a couple of potentially dodgy ones. There's a couple of files that that have '!' characters in them, and one file that actually has high ascii characters in it (Why I have no idea but it's there in our repository and works fine for everything we do). In the repo file they have been converted to escape sequences like so : doc/\371\341\337G\253 \272\341\361\341\363\341\321\274d\321 \363\253\273a\253\337d.doc I'm not sure if this is the problem, but a brief look on the net suggests that support for backslash escaping of filenames it legal in git fast-export. Is plastic fast-import handling these OK? Aaron Link to comment Share on other sites More sharing options...
psantosl Posted December 8, 2011 Report Share Posted December 8, 2011 Hi Aaron, The name part of the fast-export entries are in UTF-8. That's how we parse them. Obviously we're having an issue here. So, two things: 1- Can you send me the entire commit section of the fast export? From the commit part (the mark) till the next mark, including all the file names. If you attach this file I'll use it to create a new smoke test and then fix the problem. 2- If you want, you can fix it yourself in order to move forward (I mean, fix your repo), changing the names of the faulty files in the fast-export file. pablo Link to comment Share on other sites More sharing options...
Aaron K Posted December 8, 2011 Author Report Share Posted December 8, 2011 Hi Pablo. What email address is best to use? Regarding moving forward - I will try changing the filename and see where I get. Many thanks. Link to comment Share on other sites More sharing options...
psantosl Posted December 8, 2011 Report Share Posted December 8, 2011 psantosl at codicesoftware.com will do it!! Link to comment Share on other sites More sharing options...
Aaron K Posted December 11, 2011 Author Report Share Posted December 11, 2011 Just to revisit. I changed the dodgy filenames inside the .fe file, but to no avail. I am still getting the error. Makes me wonder where it's actually happening now. Aaron Link to comment Share on other sites More sharing options...
psantosl Posted December 12, 2011 Report Share Posted December 12, 2011 Uhm... that's weird. Ok, we're on it today. Link to comment Share on other sites More sharing options...
Aaron K Posted December 15, 2011 Author Report Share Posted December 15, 2011 Hi guys, just bumping this to see if there's been any progress. Many thanks Aaron Link to comment Share on other sites More sharing options...
manu Posted December 16, 2011 Report Share Posted December 16, 2011 Hi Aaron, can you please send me the fast-export package --nodata to review the bloody files? mlucio at codicesoftware dot com Is the changeset 5570 the one that is still failing? Manu. Link to comment Share on other sites More sharing options...
Aaron K Posted December 18, 2011 Author Report Share Posted December 18, 2011 Hi Manu, I already sent you the no-data files but I will send again, this time including the ones with the data that pablo requested. Thanks Aaron Link to comment Share on other sites More sharing options...
manu Posted December 19, 2011 Report Share Posted December 19, 2011 Hi Aatron, the only strange file I can see is the "~SDK/doc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.doc" file, can you try to reduce the name length to maybe "a.doc" and retry the import? Tell us if you get the same error. Manu. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.