Package: cscvs Version: 1.0pre25.patch.79-4 Severity: normal Tags: patch Hi, trying to import any cvs repository gives for me:
cscvs cache -b cvs [log aborted]: received broken pipe signal Set remote repository location to /cvs/debian Traceback (most recent call last): File "/usr/share/cscvs/cscvs", line 251, in ? retval = main(sys.argv) File "/usr/share/cscvs/cscvs", line 237, in main try: callSubcommand() File "/usr/share/cscvs/cscvs", line 90, in callSubcommand Runner.getRunner(config, module).run() File "/usr/share/cscvs/modules/Runner.py", line 53, in run apply(self.target, self.args) File "/usr/share/cscvs/cmds/cache.py", line 212, in cache if not mode == MODE_UNSET: update_cache(config, pipe) File "/usr/share/cscvs/cmds/cache.py", line 92, in update_cache parser = CVS.Parser.Parser(config, pipe) File "/usr/share/cscvs/modules/CVS/Parser.py", line 135, in __init__ total_revs = self._parse_revs(filename, tags, branches, total_revs) File "/usr/share/cscvs/modules/CVS/Parser.py", line 271, in _parse_revs raise error, "bad rlog parser, no cookie!" Parser error: bad rlog parser, no cookie! cvs [rlog aborted]: received broken pipe signal This is due to the fact, that the rlog parser expects another date format, in my case it is e.g.: date: 2002-08-29 14:44:59 +0000; author: agx; state: dead; lines: +0 -0 so I need the following patch to get cscvs to work: --- /usr/share/cscvs/modules/CVS/Parser.py.old 2005-08-03 15:11:05.000000000 +0200 +++ /usr/share/cscvs/modules/CVS/Parser.py 2005-08-03 15:11:14.000000000 +0200 @@ -80,13 +80,13 @@ _re_rev_start = re.compile("^revision\s+([0-9.]+).*") _re_rev_data_add = re.compile( - "^date:\s+(\d+)/(\d+)/(\d+)\s+(\d+):(\d+):(\d+);\s+"\ + "^date:\s+(\d+)-(\d+)-(\d+)\s+(\d+):(\d+):(\d+)\s+[+|-]{1}(\d+);\s+"\ "author:\s+([^;]+);\s+"\ "state:\s+([^;]+);\s+"\ "lines:\s+\+(\d+)\s+\-(\d+)$") _re_rev_data = re.compile( - "^date:\s+(\d+)/(\d+)/(\d+)\s+(\d+):(\d+):(\d+);\s+"\ + "^date:\s+(\d+)-(\d+)-(\d+)\s+(\d+):(\d+):(\d+)\s+[+|-]{1}(\d+);\s+"\ "author:\s+([^;]+);\s+"\ "state:\s+([^;]+);$") _re_rev_branches = re.compile("^branches:\s+([0-9.]+);") @@ -277,8 +277,9 @@ hour = string.atoi(groups[3]) minute = string.atoi(groups[4]) second = string.atoi(groups[5]) - author = groups[6] - state = groups[7] + offset = string.atoi(groups[6]) + author = groups[7] + state = groups[8] self._debug("groups %d %d %d %d:%d:%d %s %s" % (year, month, day, hour, minute, second, author, state)) @@ -287,8 +288,8 @@ # this could be a "CHANGE" or "REMOVE", you can tell if the # file has been removed by looking if state == 'dead' try: - pluscount = int(groups[8]) - minuscount = int(groups[9]) + pluscount = int(groups[9]) + minuscount = int(groups[10]) except IndexError: pluscount = 0 minuscount = 0 (adjusting it to read the date in iso8601 format and the offset to gmt). Whith that the import works fine. I don't have any special cvs options set, so I'm a bit puzzled why this seems to work for all other people. The patch could be made more robust by using named groups, etc. But maybe I should modify it to parse different date/time formats anyway? Cheers, -- Guido -- System Information: Debian Release: testing/unstable APT prefers stable APT policy: (990, 'stable'), (500, 'unstable') Architecture: powerpc (ppc) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.13-rc3-agx0 Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Versions of packages cscvs depends on: ii python 2.3.5-3 An interactive high-level object-o ii python-sqlite 1.0.1-2 python interface to SQLite ii tla 1.3-1 arch revision control system cscvs recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]