Invalid change ordering?
Dirk
vss2svn at nogga.de
Wed Feb 7 05:51:25 EST 2007
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
More information about the vss2svn-users
mailing list