Mercurial > hg
comparison hgext/convert/cvs.py @ 10800:49c109d037dd stable
convert.cvs: Initialize state variable and abort on cvs error
Fix as proposed by Frank Kingswood.
Avoids
UnboundLocalError: local variable 'mode' referenced before assignment
when cvs fails.
This alsa partially fixes issue1592.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Tue, 30 Mar 2010 02:42:21 +0200 |
parents | 08a0f04b56bd |
children | 9f6731b03906 |
comparison
equal
deleted
inserted
replaced
10798:e46c19c586fa | 10800:49c109d037dd |
---|---|
225 self.writep.write("Argument %s\n" % x) | 225 self.writep.write("Argument %s\n" % x) |
226 self.writep.write("Directory .\n%s\nco\n" % self.realroot) | 226 self.writep.write("Directory .\n%s\nco\n" % self.realroot) |
227 self.writep.flush() | 227 self.writep.flush() |
228 | 228 |
229 data = "" | 229 data = "" |
230 mode = None | |
230 while 1: | 231 while 1: |
231 line = self.readp.readline() | 232 line = self.readp.readline() |
232 if line.startswith("Created ") or line.startswith("Updated "): | 233 if line.startswith("Created ") or line.startswith("Updated "): |
233 self.readp.readline() # path | 234 self.readp.readline() # path |
234 self.readp.readline() # entries | 235 self.readp.readline() # entries |
242 elif line.startswith("Mbinary "): | 243 elif line.startswith("Mbinary "): |
243 count = int(self.readp.readline()[:-1]) | 244 count = int(self.readp.readline()[:-1]) |
244 data = chunkedread(self.readp, count) | 245 data = chunkedread(self.readp, count) |
245 else: | 246 else: |
246 if line == "ok\n": | 247 if line == "ok\n": |
248 if mode is None: | |
249 raise util.Abort(_('malformed response from CVS')) | |
247 return (data, "x" in mode and "x" or "") | 250 return (data, "x" in mode and "x" or "") |
248 elif line.startswith("E "): | 251 elif line.startswith("E "): |
249 self.ui.warn(_("cvs server: %s\n") % line[2:]) | 252 self.ui.warn(_("cvs server: %s\n") % line[2:]) |
250 elif line.startswith("Remove"): | 253 elif line.startswith("Remove"): |
251 self.readp.readline() | 254 self.readp.readline() |