Arrrgh, why has nobody pointed out, that the file is "copied" twice ;-).
Naturally that's the problem.
Since I have the converter output here in a private copy, I followed
this file throughout the history, and it seems, that problems start
after a delete while the file is in the orphan cache. ... I have to dig
a little further, but naturally, that's the problem. Thanks for pointing
it out.
Dirk
Stephen Lee schrieb:
Scott Nowell wrote:
<<< Started new transaction, based on original revision 2750
* adding path : labels/Ready for MS01 Validation Run ... done.
* adding path : labels/Ready for MS01 Validation Run/UC00 ... done.
* adding path : labels/Ready for MS01 Validation Run/UC00/Source
... done.
* adding path : labels/Ready for MS01 Validation
Run/UC00/Source/MicroCOS .
.. done.
<SNIP about 100 lines from same rev 2750 >
* adding path : labels/Ready for MS01 Validation
Run/MS01/Source/UnitTests/
Test/regress.bat ..COPIED... done.
* adding path : labels/Ready for MS01 Validation
Run/MS01/Source/UnitTests/
Test/Script.bat ..COPIED... done.
* adding path : labels/Ready for MS01 Validation
Run/MS01/Source/UnitTests/
Test/setenv.bat ...COPIED... done.
svnadmin: Invalid change ordering: new node revision ID without delete
Check within the about 100 lines you snipped for two consecutive lines
that are the same.
This looks like it could be the same as a problem I reported to the
list and toby filed as a defect:
http://www.pumacode.org/projects/vss2svn/ticket/42
Also, you (and anyone else with the same problem) may be interested in
the "TrimDupes" workaround I used for this problem (attached). You
would need a working C compiler, and replace the TrimDupe(...) calls
from main() with the duplicates that you get, in the order they are
imported.
When I said my database imported almost perfectly on the most recent
dummy run, this was AFTER this filter which I had just automatically
done after the conversion.
Now I've got perl running, I should probably look to rewrite this or
fix the underlying bug in vss2svn - the whole thing could probably
reduce to a single non-database-specific regexp.
------------------------------------------------------------------------
#include <stdio.h>
#include <fcntl.h>
#include <io.h>
void TrimDupe(const char *Trigger)
{
const char *TrigPtr=Trigger;
char c;
while(fread(&c,1,1,stdin))
{
fwrite(&c,1,1,stdout);
if(!TrigPtr)
;
else if(c!=*TrigPtr++)
TrigPtr=Trigger;
else if(!*TrigPtr)
{
fprintf(stderr,"MATCH FOUND: %s\n",Trigger);
// found the first trigger - look for 2nd, without using putchar
while(fread(&c,1,1,stdin))
{
if(c!=*TrigPtr++)
TrigPtr=Trigger;
else if(!*TrigPtr)
{
fprintf(stderr,"DUPE FOUND... continuing\n");
break;
}
}
break;
}
}
}
int main(void)
{
_setmode( _fileno( stdin ), _O_BINARY );
_setmode( _fileno( stdout ), _O_BINARY );
TrimDupe("labels/PRE_UNITS/Plugins/Sdmxp/MotorRequest.h");
TrimDupe("labels/Release 2.31/ProComposer.NewStdDB");
TrimDupe(NULL);
return 0;
}
------------------------------------------------------------------------
_______________________________________________
vss2svn-users mailing list
Project homepage:
http://www.pumacode.org/projects/vss2svn/
Subscribe/Unsubscribe/Admin:
http://lists.pumacode.org/mailman/listinfo/vss2svn-users-lists.pumacode.org
Mailing list web interface (with searchable archives):
http://dir.gmane.org/gmane.comp.version-control.subversion.vss2svn.user
_______________________________________________
vss2svn-users mailing list
Project homepage:
http://www.pumacode.org/projects/vss2svn/
Subscribe/Unsubscribe/Admin:
http://lists.pumacode.org/mailman/listinfo/vss2svn-users-lists.pumacode.org
Mailing list web interface (with searchable archives):
http://dir.gmane.org/gmane.comp.version-control.subversion.vss2svn.user