apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lev Serebryakov <...@serebryakov.spb.ru>
Subject Re[2]: [PROPOSAL] Move APR to the subversion repository
Date Sat, 13 Mar 2004 15:48:31 GMT
Hello, Brian!
Saturday, March 13, 2004, 5:44:27 PM, you wrote:

BWF> Please define 'better'
  50+ success stories with refinecvs (and all of these people try
  cvs2svn before). About 10 repositories I know, which COULD NOT BE
  converted with cvs2svn & converted with refinecvs. I don't know any
  repository, which is converted with cvs2svn without problems and
  could not be proceed with refinecvs. If you know such repositories
  -- you are welcome!

BWF> Last time I checked refinecvs it:
BWF> - Did the entire repository conversion in-memory.
  Yes, it is one of main `feature/bug' of this script. It works fast, but
  consume memory. Some algorithms inside is O(n^2) and even worse. For
  example, restoring tag creation history is very slow procedure. I've
  tried to store tables in DBM, but it slow down process in orders of
  magnitude.
BWF> - Skipped over branches and tags with anomalies (if you supply certain
BWF> switches--otherwise, it just errors out).  CVS repositories often have
BWF> more RCS edge cases than actual data. :-)
  Even in case of `apr'?
  
BWF> - Had no test suite.
  FreeBSD repository + whole cvs2svn test suite. Is it enough?

BWF> All of the above three things make me hesitant to trust my (let alone
BWF> the ASF's!) historical data to it.
  Ok. But why should I trust my historical data cvs2svn, if it even
  could not create proper dump for some of my repositories? We (I,
  you, other authors of cvs2svn, whole CVS and SVN systems) are not
  Donald Khuth or Dijkstra. We didn't prove our programs
  mathematically.
  
  I've started to write refinecvs when cvs2svn reports `All done'
  about my repository and `svnadmin load' reject resulting dump! After
  that I fixed 3 errors in dump by hands (adding files twice, deleting
  files twice) and, as final result, got repository with messed branches.

  In any case it is bad idea to blindly convert repo and think, that
  everything is Ok. In any case, it is good idea to check every branch
  and every tag (by checking out two working copies: from CVS and from
  svn and comparing byte-by-byte).
  
BWF> Has any of the above changed in the last month?
  No. Because here are no bugreports. And nobody, who complains about
  RCS edge cases could not answer on simple question: `How it should
  be proceed, what you want as result?'. What do you want as result when
  two revisions marked with one tag? Could you answer?

  I'm thinking about interactive mode for such cases... But refinecvs
  doesn't have ANY knobs to affect such cases! And even without
  interactive mode, refinecvs give you fine control over conversion
  process.

--
               Lev Serebryakov


Mime
View raw message