Diff for /wikisrc/mailing-lists/tech-repository.mdwn between versions 1.16 and 1.17

version 1.16, 2010/12/24 10:33:44 version 1.17, 2014/12/19 12:59:12
Line 149  I personally find this approach a lot mo Line 149  I personally find this approach a lot mo
   
 ***  ***
   
 ## Conversion experiences  ## Conversion 
   
   ### fossil
   
   We have a successful conversion from cvs to fossil since ~mid 2011, mostly thanks to the work of Jörg Sonnenberger.
   
 ### git  ### git
   
 Conversion of all modules to git succeeded using fromcvs togit. The resulting git repository of src contains several errors where files have a wrong version (eg in hunt/Makefile the contents of the file on the vendor branch appear as tip of the master branch, which is quite wrong).  We have a successful conversion to git via the fossil conversion; also, probably now a successful direct conversion via the tools by Eric S. Raymond.
 There have been no reports of errors in the other modules; this may be due to a lack of testing.  
   
 ### hg  ### hg
   
 Conversion of src failed. Afair the rest worked when using Mercurial 1.3.*. Alas, fromcvs tohg is not compatible with Mercurial 1.4 which is in pkgsrc now and is the version to use with Python 2.6 (afair). Two identified problems:  A conversion to hg has also been done, ask agc@
 <pre>  
         self.ui = ui.ui(interactive = False)  
 </pre>  
 wants to be  
 <pre>  
         self.ui = ui.ui()  
         self.ui.setconfig('ui', 'interactive', 'off')  
 </pre>  
 in /usr/pkg/share/fromcvs/tohg.py line 10 (easily fixed, obviously)  
 and  
 <pre>  
         n = self.hgrepo.commit(files = files,  
                                text = text,  
                                user = user,  
                                date = "%s 0" % date,  
                                p1 = p1,  
                                p2 = p2,  
                                extra = {'branch': branch})  
 </pre>  
 needs to be replaces with something that works with the 1.4 commit that looks like this:  
 <pre>  
     def commit(self, text="", user=None, date=None, match=None, force=False,  
                editor=False, extra={}):  
 </pre>  
 which is where I remembered that I wasn't planning to learn Python this week.  
   
 Next try: hg convert on pkgsrc  
 <pre>  
 --- /usr/pkg/lib/python2.6/site-packages/hgext/convert/cvsps.py 2009-12-02 01:30:45.000000000 +0000  
 +++ /tmp/cvsps.py       2010-01-20 12:52:11.000000000 +0000  
 @@ -271,14 +271,14 @@  
                  tags[rev].append(match.group(1))  
                  branchmap[match.group(1)] = match.group(2)  
    
 -            elif re_31.match(line):  
 +            elif re_31.match(line) and re_50.match(peek):  
                  state = 5  
              elif re_32.match(line):  
                  state = 0  
    
          elif state == 4:  
              # expecting '------' separator before first revision  
 -            if re_31.match(line):  
 +            if re_31.match(line) and re_50.match(peek):  
                  state = 5  
              else:  
                  assert not re_32.match(line), _('must have at least '  
 @@ -357,7 +357,7 @@  
    
          elif state == 8:  
              # store commit log message  
 -            if re_31.match(line):  
 +            if re_31.match(line) and re_50.match(peek):  
                  state = 5  
                  store = True  
              elif re_32.match(line):  
 </pre>  
 helps it to cope with the output of cvs rlog -N -r1.66 pkgsrc/databases/rrdtool/Makefile (that's the easy one)  
 but then it tries to parse the output of (eg) cvs rlog -N -r1.19 pkgsrc/graphics/dcraw/Makefile and it's not clear  
 to me how it could hope to get that one right just from cvs rlog, and all alternatives are going to be rather tedious  
 and I'm still not planning to learn Python this week. If you feel more energetic, feel free to hand over patches.  

Removed from v.1.16  
changed lines
  Added in v.1.17


CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb