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

Reply via email to