Mercurial > hg
comparison mercurial/changelog.py @ 7948:de377b1a9a84
move encoding bits from util to encoding
In addition to cleaning up util, this gets rid of some circular dependencies.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Fri, 03 Apr 2009 14:51:48 -0500 |
parents | bd8f44638847 |
children | a1a5a57efe90 |
comparison
equal
deleted
inserted
replaced
7947:a454eeb1b827 | 7948:de377b1a9a84 |
---|---|
5 # This software may be used and distributed according to the terms | 5 # This software may be used and distributed according to the terms |
6 # of the GNU General Public License, incorporated herein by reference. | 6 # of the GNU General Public License, incorporated herein by reference. |
7 | 7 |
8 from node import bin, hex, nullid | 8 from node import bin, hex, nullid |
9 from i18n import _ | 9 from i18n import _ |
10 import util, error, revlog | 10 import util, error, revlog, encoding |
11 | 11 |
12 def _string_escape(text): | 12 def _string_escape(text): |
13 """ | 13 """ |
14 >>> d = {'nl': chr(10), 'bs': chr(92), 'cr': chr(13), 'nul': chr(0)} | 14 >>> d = {'nl': chr(10), 'bs': chr(92), 'cr': chr(13), 'nul': chr(0)} |
15 >>> s = "ab%(nl)scd%(bs)s%(bs)sn%(nul)sab%(cr)scd%(bs)s%(nl)s" % d | 15 >>> s = "ab%(nl)scd%(bs)s%(bs)sn%(nul)sab%(cr)scd%(bs)s%(nl)s" % d |
173 """ | 173 """ |
174 text = self.revision(node) | 174 text = self.revision(node) |
175 if not text: | 175 if not text: |
176 return (nullid, "", (0, 0), [], "", {'branch': 'default'}) | 176 return (nullid, "", (0, 0), [], "", {'branch': 'default'}) |
177 last = text.index("\n\n") | 177 last = text.index("\n\n") |
178 desc = util.tolocal(text[last + 2:]) | 178 desc = encoding.tolocal(text[last + 2:]) |
179 l = text[:last].split('\n') | 179 l = text[:last].split('\n') |
180 manifest = bin(l[0]) | 180 manifest = bin(l[0]) |
181 user = util.tolocal(l[1]) | 181 user = encoding.tolocal(l[1]) |
182 | 182 |
183 extra_data = l[2].split(' ', 2) | 183 extra_data = l[2].split(' ', 2) |
184 if len(extra_data) != 3: | 184 if len(extra_data) != 3: |
185 time = float(extra_data.pop(0)) | 185 time = float(extra_data.pop(0)) |
186 try: | 186 try: |
203 | 203 |
204 user = user.strip() | 204 user = user.strip() |
205 if "\n" in user: | 205 if "\n" in user: |
206 raise error.RevlogError(_("username %s contains a newline") | 206 raise error.RevlogError(_("username %s contains a newline") |
207 % repr(user)) | 207 % repr(user)) |
208 user, desc = util.fromlocal(user), util.fromlocal(desc) | 208 user, desc = encoding.fromlocal(user), encoding.fromlocal(desc) |
209 | 209 |
210 if date: | 210 if date: |
211 parseddate = "%d %d" % util.parsedate(date) | 211 parseddate = "%d %d" % util.parsedate(date) |
212 else: | 212 else: |
213 parseddate = "%d %d" % util.makedate() | 213 parseddate = "%d %d" % util.makedate() |