Mercurial > hg4j
comparison src/org/tmatesoft/hg/repo/HgChangelog.java @ 589:c18095eedde0
Username in changeset uses UTF-8, not system encoding
| author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
|---|---|
| date | Mon, 29 Apr 2013 17:02:30 +0200 |
| parents | 1ee452f31187 |
| children | 46f29b73e51e |
comparison
equal
deleted
inserted
replaced
| 588:41218d84842a | 589:c18095eedde0 |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (c) 2010-2012 TMate Software Ltd | 2 * Copyright (c) 2010-2013 TMate Software Ltd |
| 3 * | 3 * |
| 4 * This program is free software; you can redistribute it and/or modify | 4 * This program is free software; you can redistribute it and/or modify |
| 5 * it under the terms of the GNU General Public License as published by | 5 * it under the terms of the GNU General Public License as published by |
| 6 * the Free Software Foundation; version 2 of the License. | 6 * the Free Software Foundation; version 2 of the License. |
| 7 * | 7 * |
| 245 Nodeid _nodeid = Nodeid.fromAscii(data, 0, breakIndex1); | 245 Nodeid _nodeid = Nodeid.fromAscii(data, 0, breakIndex1); |
| 246 int breakIndex2 = indexOf(data, lineBreak, breakIndex1 + 1, bufferEndIndex); | 246 int breakIndex2 = indexOf(data, lineBreak, breakIndex1 + 1, bufferEndIndex); |
| 247 if (breakIndex2 == -1) { | 247 if (breakIndex2 == -1) { |
| 248 throw new HgInvalidDataFormatException("Bad Changeset data"); | 248 throw new HgInvalidDataFormatException("Bad Changeset data"); |
| 249 } | 249 } |
| 250 String _user = new String(data, breakIndex1 + 1, breakIndex2 - breakIndex1 - 1); | 250 String _user; |
| 251 if (usersPool != null) { | 251 try { |
| 252 _user = usersPool.unify(_user); | 252 // TODO use encoding helper? Although where encoding is fixed (like here), seems to be just too much |
| 253 } | 253 _user = new String(data, breakIndex1 + 1, breakIndex2 - breakIndex1 - 1, "UTF-8"); |
| 254 if (usersPool != null) { | |
| 255 _user = usersPool.unify(_user); | |
| 256 } | |
| 257 } catch (UnsupportedEncodingException ex) { | |
| 258 _user = ""; | |
| 259 // Could hardly happen | |
| 260 throw new HgInvalidDataFormatException("Bad Changeset data", ex); | |
| 261 } | |
| 262 | |
| 254 int breakIndex3 = indexOf(data, lineBreak, breakIndex2 + 1, bufferEndIndex); | 263 int breakIndex3 = indexOf(data, lineBreak, breakIndex2 + 1, bufferEndIndex); |
| 255 if (breakIndex3 == -1) { | 264 if (breakIndex3 == -1) { |
| 256 throw new HgInvalidDataFormatException("Bad Changeset data"); | 265 throw new HgInvalidDataFormatException("Bad Changeset data"); |
| 257 } | 266 } |
| 258 String _timeString = new String(data, breakIndex2 + 1, breakIndex3 - breakIndex2 - 1); | 267 String _timeString = new String(data, breakIndex2 + 1, breakIndex3 - breakIndex2 - 1); |
