Mercurial > hg
graph
-
largefiles: use the convert extension for 'lfconvert --to-normal'Thu, 28 May 2015 13:34:37 -0400, by Matt Harbison
-
bundle2: add generic debug output regarding generated interruptionWed, 27 May 2015 00:22:29 -0700, by Pierre-Yves David
-
bundle2: add generic debug output regarding generated partsWed, 27 May 2015 00:19:16 -0700, by Pierre-Yves David
-
bundle2: add generic debug output regarding generated bundleWed, 27 May 2015 00:10:30 -0700, by Pierre-Yves David
-
bundle2: add debug output for part generationWed, 27 May 2015 00:52:01 -0700, by Pierre-Yves David
-
bundle2: handle new line in 'indebug' functionTue, 26 May 2015 23:01:39 -0700, by Pierre-Yves David
-
bundle2: prefix all unbundling debug message with 'bundle2-input:'Tue, 26 May 2015 20:40:21 -0700, by Pierre-Yves David
-
bundle2: introduce a specific function for debug messages while unbundlingTue, 26 May 2015 22:48:52 -0700, by Pierre-Yves David
-
bundle2: add an informative comment to the capability dictThu, 28 May 2015 10:00:22 -0700, by Pierre-Yves David
-
merge with stableThu, 28 May 2015 16:09:42 -0500, by Matt Mackall
-
bundle2: handle new line in 'outdebug' functionTue, 26 May 2015 23:02:19 -0700, by Pierre-Yves David
-
bundle2: prefix all bundling debug messages with 'bundle2-ouput:'Tue, 26 May 2015 22:57:35 -0700, by Pierre-Yves David
-
bundle2: introduce a specific function for bundling debug messageTue, 26 May 2015 22:49:03 -0700, by Pierre-Yves David
-
parsers: simplify the code computing the phasesWed, 27 May 2015 17:01:43 -0700, by Laurent Charignon
-
parsers: move index_get_parents's declaration higherWed, 27 May 2015 17:00:28 -0700, by Laurent Charignon
-
record: add an operation arguments to customize recording uiWed, 27 May 2015 15:49:24 -0700, by Laurent Charignon
-
revset: reduce nesting of chained 'or' operations (issue4624)Sun, 26 Apr 2015 18:13:48 +0900, by Yuya Nishihara
-
revset: add helper to build balanced addsets from chained 'or' operationsSun, 24 May 2015 14:10:52 +0900, by Yuya Nishihara
-
revset: comment that we can't swap 'or' operands by weightSun, 26 Apr 2015 18:27:32 +0900, by Yuya Nishihara
-
parser: add helper to reduce nesting of chained infix operationsSun, 26 Apr 2015 18:05:23 +0900, by Yuya Nishihara
-
convert: properly pass null ids through .hgtags (issue4678) stableWed, 27 May 2015 14:28:29 -0500, by Matt Mackall
-
commit: improve --close-branch documentationWed, 27 May 2015 17:28:55 -0500, by Matt Mackall
-
patch: add 'extra' argument to makememctxFri, 22 May 2015 13:06:45 -0700, by Laurent Charignon
-
merge with stableWed, 27 May 2015 17:41:42 -0500, by Matt Mackall
-
match: normpath the ignore source when expanding the 'subinclude' kindWed, 27 May 2015 13:28:16 -0400, by Matt Harbison
-
repair: forbid strip from inside a transactionSat, 23 May 2015 21:18:47 -0700, by Pierre-Yves David
-
test-treemanifest: add globs for WindowsWed, 27 May 2015 12:14:10 -0400, by Matt Harbison
-
test-revert-interactive: don't escape the $ for $TESTTMPWed, 27 May 2015 12:11:13 -0400, by Matt Harbison
-
changelog: fix bug in heads computationTue, 26 May 2015 12:09:04 -0700, by Laurent Charignon
-
changelog: change input type of index_get_parentsTue, 26 May 2015 12:08:50 -0700, by Laurent Charignon
-
branch: don't warn about branches if repository has multiple branches alreadyFri, 22 May 2015 17:08:59 -0500, by Matt Mackall
-
transaction: really fix _addbackupentry key usage (issue4684) stableTue, 26 May 2015 13:02:28 -0700, by Pierre-Yves David
-
largefiles: avoid match.files() in conditionsTue, 19 May 2015 13:08:21 -0700, by Martin von Zweigbergk
-
largefiles: pass in whole matcher to getstandinmatcher()Tue, 26 May 2015 11:06:43 -0700, by Martin von Zweigbergk
-
largefiles: drop unused 'pats' parameter from getstandinmatcher()Tue, 26 May 2015 09:46:48 -0700, by Martin von Zweigbergk
-
devel: rename 'all' to 'all-warnings' (BC)Tue, 26 May 2015 14:14:36 -0700, by Pierre-Yves David
-
merge with stableTue, 26 May 2015 14:52:47 -0500, by Matt Mackall
-
copies: document hack for adding '' to set of dirsFri, 22 May 2015 14:02:04 -0700, by Martin von Zweigbergk
-
test-revset: update test that isn't broken on default branchTue, 26 May 2015 23:14:50 +0900, by Yuya Nishihara
-
pathutil: demote two local functions to just be forwardsTue, 26 May 2015 14:41:00 -0400, by Augie Fackler
-
pathutil: restate dirname and join as forwards to posixpathTue, 26 May 2015 14:30:48 -0400, by Augie Fackler
-
help: add documentation on include: and subinclude:Wed, 20 May 2015 14:54:09 -0700, by Durham Goode
-
match: enable 'subinclude:' syntaxSat, 16 May 2015 16:25:05 -0700, by Durham Goode
-
copies: switch to using pathutil.dirnameFri, 22 May 2015 12:58:27 -0700, by Durham Goode
-
pathutil: add dirname and join functionsFri, 22 May 2015 12:47:18 -0700, by Durham Goode
-
changelog: move index_get_parents function upThu, 21 May 2015 15:44:38 -0700, by Laurent Charignon
-
mergecopies: avoid slowdown from linkrev adjustment (issue4680) stableTue, 26 May 2015 06:45:18 -0500, by Matt Mackall
-
hgweb: remove an extra call to nodebranchnodefault() in changesetentry()Tue, 26 May 2015 22:58:30 +0800, by Anton Shestakov
-
profile: disable nested report in lsprof by defaultFri, 22 May 2015 12:14:23 -0500, by Matt Mackall
-
manifest: use match.prefix() instead of 'not match.anypats()'Tue, 19 May 2015 11:16:20 -0700, by Martin von Zweigbergk
-
dirstate: use match.prefix() instead of 'not match.anypats()'Tue, 19 May 2015 10:40:40 -0700, by Martin von Zweigbergk
-
commit: avoid match.files() in conditionsTue, 19 May 2015 11:36:05 -0700, by Martin von Zweigbergk
-
_makelogrevset: avoid match.files() in conditionsTue, 19 May 2015 11:35:43 -0700, by Martin von Zweigbergk
-
walkchangerevs: avoid match.files() in conditionsTue, 19 May 2015 11:34:50 -0700, by Martin von Zweigbergk
-
walkchangerevs: simplify with an 'elif'Thu, 21 May 2015 14:20:24 -0700, by Martin von Zweigbergk
-
merge with stableTue, 26 May 2015 07:44:37 -0500, by Matt Mackall
-
test-module-imports: drop check for Python >= 2.6Mon, 25 May 2015 11:06:49 -0700, by Gregory Szorc
-
localrepo: pass hook argument txnid to pretxnopen hooks stableMon, 25 May 2015 01:26:23 +0900, by FUJIWARA Katsunori
-
transaction: separate calculating TXNID from creating transaction object stableMon, 25 May 2015 01:26:19 +0900, by FUJIWARA Katsunori
-
revbranchcache: return uncached branchinfo for nullrev (issue4683) stableSat, 23 May 2015 11:14:00 +0900, by Yuya Nishihara
-
revset: drop magic of fullreposet membership test (issue4682) stableSun, 24 May 2015 10:29:33 +0900, by Yuya Nishihara
-
merge with stableSat, 23 May 2015 15:55:04 -0500, by Matt Mackall
-
transaction: use the proper variable in '_addbackupentry' (issue4684) stableFri, 22 May 2015 12:13:18 -0500, by Pierre-Yves David
-
run-tests: python3.5 now supports mkdtemp using bytes for pathsFri, 22 May 2015 21:19:08 -0400, by Augie Fackler
-
run-tests: use items() instead of iteritems()Fri, 22 May 2015 21:15:52 -0400, by Augie Fackler
-
selve: make 'shelve --interactive' not experimentalThu, 21 May 2015 14:57:30 -0700, by Laurent Charignon
-
revert: fix edition of newly added file during --interactiveThu, 21 May 2015 14:34:24 -0700, by Laurent Charignon
-
revert: make revert --interactive use git style diffThu, 21 May 2015 14:25:57 -0700, by Laurent Charignon
-
record: extract code to compute newly added and modified filesThu, 21 May 2015 14:32:14 -0700, by Laurent Charignon
-
record: extract ishunk to a functionThu, 21 May 2015 14:28:02 -0700, by Laurent Charignon
-
fileset: pretty print syntax tree in debug outputSun, 26 Apr 2015 22:26:44 +0900, by Yuya Nishihara
-
parser: extract closure of prettyformat() to a top-level functionWed, 06 May 2015 10:17:41 +0900, by Yuya Nishihara
-
parser: move prettyformat() function from revset moduleSun, 26 Apr 2015 22:20:03 +0900, by Yuya Nishihara
-
fileset: move validation of incomplete parsing to parse() functionSun, 26 Apr 2015 19:50:42 +0900, by Yuya Nishihara
-
revset: move validation of incomplete parsing to parse() functionSun, 26 Apr 2015 19:42:47 +0900, by Yuya Nishihara
-
match: fix bug in match.visitdir()Fri, 22 May 2015 14:39:34 -0700, by Drew Gottlieb
-
error: derive RevlogError from HintException instead of ExceptionThu, 21 May 2015 16:20:34 -0400, by Jordi Gutiérrez Hermoso
-
error: refactor common hint-pattern into a common base classThu, 21 May 2015 16:28:06 -0400, by Jordi Gutiérrez Hermoso
-
merge with stableFri, 22 May 2015 11:50:57 -0500, by Matt Mackall
-
util: allow to specify buffer size in popen4Wed, 20 May 2015 11:29:45 -0500, by Pierre-Yves David
-
sshpeer: extract the forward output logicMon, 18 May 2015 23:19:11 -0500, by Pierre-Yves David
-
sshpeer: break "OutOfBandError" feature for ssh (BC)Wed, 20 May 2015 12:33:12 -0500, by Pierre-Yves David
-
error: allow a 'hint' to OutOfBandErrorWed, 20 May 2015 18:17:40 -0500, by Pierre-Yves David
-
tests: fix test-clone on vfatThu, 21 May 2015 14:30:22 -0500, by Matt Mackall
-
wireproto: remove unused 'store' importThu, 21 May 2015 11:34:40 -0700, by Martin von Zweigbergk
-
match: allow unioning arbitrary match functionsSat, 16 May 2015 16:16:18 -0700, by Durham Goode
-
match: add root to _buildmatchSat, 16 May 2015 16:12:00 -0700, by Durham Goode
-
localrepo: extract stream clone application into reusable functionThu, 21 May 2015 10:41:06 -0700, by Gregory Szorc
-
exchange: move code for consuming streaming clone into exchangeThu, 21 May 2015 10:27:45 -0700, by Gregory Szorc
-
exchange: move code for generating a streaming clone into exchangeThu, 21 May 2015 10:27:22 -0700, by Gregory Szorc
-
dirstate: avoid match.files() in walk()Tue, 19 May 2015 10:13:43 -0700, by Martin von Zweigbergk
-
match: introduce boolean prefix() methodTue, 28 Oct 2014 22:47:22 -0700, by Martin von Zweigbergk
-
hgweb: descend empty directories in monoblueThu, 21 May 2015 19:52:36 +0800, by Anton Shestakov
-
match: have visitdir() consider includes and excludesMon, 18 May 2015 14:29:20 -0700, by Drew Gottlieb
-
hgweb: remove artificial width constraint from header in monoblueThu, 21 May 2015 00:27:12 +0800, by Anton Shestakov
-
merge with stableWed, 20 May 2015 15:29:32 -0500, by Matt Mackall
-
files: recurse into subrepos automatically with an explicit pathSun, 17 May 2015 22:42:47 -0400, by Matt Harbison
-
dirstate: use open/read of vfs(opener) explicitly instead of readWed, 20 May 2015 01:06:09 +0900, by FUJIWARA Katsunori
-
dirstate: use self._filename instead of immediate string `dirstate`Wed, 20 May 2015 01:06:09 +0900, by FUJIWARA Katsunori
-
revset: drop translation marker from error message of _notpublic()Tue, 19 May 2015 23:29:20 +0900, by Yuya Nishihara
-
revset: drop docstring from internal _notpublic() functionTue, 19 May 2015 23:26:25 +0900, by Yuya Nishihara
-
record: make hg record always use the non curses interfaceWed, 13 May 2015 20:30:12 -0700, by Laurent Charignon
-
treemanifest: lazily load manifestsThu, 09 Apr 2015 17:14:35 -0700, by Martin von Zweigbergk
-
treemanifest: speed up commit using dirty flagMon, 18 May 2015 21:31:40 -0700, by Martin von Zweigbergk
-
treemanifest: speed up diff by keeping track of dirty nodesThu, 26 Feb 2015 08:16:13 -0800, by Martin von Zweigbergk
-
localrepo: use correct argument name for pretxnclose hooks (BC) stableWed, 20 May 2015 04:34:27 +0900, by FUJIWARA Katsunori
-
localrepo: rename hook argument from TXNID to txnid (BC) stableWed, 20 May 2015 04:34:27 +0900, by FUJIWARA Katsunori
-
test-walk: add more tests for -I/-XWed, 05 Nov 2014 11:25:57 -0800, by Martin von Zweigbergk
-
ignore: use 'include:' rules instead of custom syntaxSat, 16 May 2015 16:06:22 -0700, by Durham Goode
-
match: add 'include:' syntaxSat, 16 May 2015 15:56:52 -0700, by Durham Goode
-
match: add optional warn argumentMon, 18 May 2015 16:27:56 -0700, by Durham Goode
-
match: add source to kindpats listSat, 16 May 2015 15:51:03 -0700, by Durham Goode
-
check-code: reintroduce str.format() ban for 3.x portingTue, 19 May 2015 08:41:04 -0500, by Matt Mackall
-
util: drop the 'unpacker' helperMon, 18 May 2015 23:43:36 -0500, by Pierre-Yves David
-
MBTextWrapper: drop dedicated __init__ methodMon, 18 May 2015 16:56:04 -0500, by Pierre-Yves David
-
util: drop the compatibility with Python 2.4 unpackerMon, 18 May 2015 16:54:21 -0500, by Pierre-Yves David
-
tests: just use 'response.reason'Mon, 18 May 2015 16:52:28 -0500, by Pierre-Yves David
-
url: drop awful hack around bug in Python 2.4Mon, 18 May 2015 16:51:02 -0500, by Pierre-Yves David
-
httpconnection: drop Python 2.4 specify hackMon, 18 May 2015 16:47:26 -0500, by Pierre-Yves David
-
mail: drop explicit mail import required by Python 2.4Mon, 18 May 2015 16:46:32 -0500, by Pierre-Yves David
-
windows: drop Python2.4 specific hack for directory not found handlingMon, 18 May 2015 16:33:57 -0500, by Pierre-Yves David
-
notify: drop import required by Python 2.4Mon, 18 May 2015 16:24:16 -0500, by Pierre-Yves David
-
patchbomb: stop explicit import required by Python 2.4Mon, 18 May 2015 16:22:15 -0500, by Pierre-Yves David
-
pager: drop python 2.4 hack around subprocessMon, 18 May 2015 16:20:12 -0500, by Pierre-Yves David
-
check-code: drop ban of 'val if cond else otherval' constructMon, 18 May 2015 16:18:18 -0500, by Pierre-Yves David
-
check-code: entirely drop the 'non-py24.py' file from the testMon, 18 May 2015 16:30:24 -0500, by Pierre-Yves David
-
check-code: drop the 'format' built-inMon, 18 May 2015 16:11:44 -0500, by Pierre-Yves David
-
check-code: drop ban of str.formatMon, 18 May 2015 16:09:05 -0500, by Pierre-Yves David
-
statichttprepo: remove wrong getattr ladderMon, 18 May 2015 22:40:16 -0400, by Augie Fackler
-
merge with stableTue, 19 May 2015 07:17:57 -0500, by Matt Mackall
-
match: explicitly naming a subrepo implies always() for the submatcher stableSun, 17 May 2015 22:09:37 -0400, by Matt Harbison
-
context: don't complain about a matcher's subrepo paths in changectx.walk() stableSun, 17 May 2015 01:06:10 -0400, by Matt Harbison
-
ssh: capture output with bundle2 again (issue4642) stableMon, 18 May 2015 22:35:27 -0500, by Pierre-Yves David
-
revset: optimize not public revsetFri, 24 Apr 2015 14:30:30 -0700, by Laurent Charignon
-
phases: add set per phase in C phase computationWed, 01 Apr 2015 11:17:17 -0700, by Laurent Charignon
-
match: rename _fmap to _fileroots for clarityFri, 08 May 2015 12:30:51 -0700, by Drew Gottlieb
-
match: remove unnecessary optimization where visitdir() returns 'all'Wed, 06 May 2015 15:59:35 -0700, by Drew Gottlieb
-
dispatch: add support for python-flamegraph[0] profilingThu, 16 Apr 2015 17:12:33 -0400, by Augie Fackler
-
extensions: document that `testedwith = 'internal'` is specialTue, 28 Apr 2015 16:44:37 -0400, by Augie Fackler
-
treemanifest: cache directory logs and manifestsFri, 10 Apr 2015 23:12:33 -0700, by Martin von Zweigbergk
-
hook: drop dedicated catch for 'KeyboardInterrupt'Mon, 18 May 2015 15:40:23 -0500, by Pierre-Yves David
-
recover: catch any exception, not just ExceptionMon, 18 May 2015 15:38:24 -0500, by Pierre-Yves David
-
exchange: catch down to BaseException when handling bundle2Mon, 18 May 2015 15:33:21 -0500, by Pierre-Yves David
-
bundle2: use BaseException in bundle2Mon, 18 May 2015 13:23:14 -0500, by Pierre-Yves David
-
check-code: drop ban of BaseExceptionMon, 18 May 2015 13:20:19 -0500, by Pierre-Yves David
-
wireproto: turn an 'except' into a 'finally' as suggest by the commentMon, 18 May 2015 13:25:07 -0500, by Pierre-Yves David
-
check-code: drop the yield inside try/finally banMon, 18 May 2015 12:56:59 -0500, by Pierre-Yves David
-
run-tests: resurrect the wifexited polyfill (backout 6ab5a1c9ea3c)Mon, 18 May 2015 15:34:42 -0400, by Matt Harbison
-
tests: check import cycles in hgext/**.py, tooMon, 18 May 2015 02:53:08 +0900, by FUJIWARA Katsunori
-
import-checker: don't treat modules as relative one if not foundMon, 18 May 2015 02:52:58 +0900, by FUJIWARA Katsunori
-
import-checker: make imported_modules yield absolute dotted_name_of_pathMon, 18 May 2015 02:52:55 +0900, by FUJIWARA Katsunori
-
import-checker: add utility to examine what module is imported easilyMon, 18 May 2015 02:50:22 +0900, by FUJIWARA Katsunori
-
subrepo: further replacement of try/except with 'next'Mon, 18 May 2015 12:31:41 -0500, by Pierre-Yves David
-
parsers: use 'next' instead of try/exceptMon, 18 May 2015 12:27:15 -0500, by Pierre-Yves David
-
dagparser: use 'next' instead of try/except for default valueMon, 18 May 2015 12:22:44 -0500, by Pierre-Yves David
-
getlogrevs: rewrite a loop to get read of try/exceptMon, 18 May 2015 12:18:00 -0500, by Pierre-Yves David
-
_makelogrevset: replace try/except with 'next' usageMon, 18 May 2015 12:17:08 -0500, by Pierre-Yves David
-
ignore: move readpatternfile to match.pySat, 16 May 2015 15:46:54 -0700, by Durham Goode
-
ignore: rename readignorefile to readpatternfileSat, 16 May 2015 15:45:46 -0700, by Durham Goode
-
ignore: combine readignorefile and _ignorefileSat, 16 May 2015 15:45:06 -0700, by Durham Goode
-
ignore: move bad file handling out of readignorefileSat, 16 May 2015 15:37:59 -0700, by Durham Goode
-
ignore: remove .hgignore from ignore list if nonexistentSat, 16 May 2015 15:24:43 -0700, by Durham Goode
-
run-tests: replace open-coded .decode()s on paths with a helper (issue4667)Sun, 17 May 2015 21:47:18 -0400, by Augie Fackler
-
run-tests: move unicode-to-bytes operations on paths to a helper (issue4667)Sun, 17 May 2015 21:40:12 -0400, by Augie Fackler
-
run-tests: insist that if people use Python 3, they use 3.5.xSun, 17 May 2015 21:26:04 -0400, by Augie Fackler
-
run-tests: move all open-coded sys.version_info checks to PYTHON3 (issue4668)Sun, 17 May 2015 21:18:56 -0400, by Augie Fackler
-
run-tests: prefer PYTHON3 constant to many version_info checks (issue4668)Sun, 17 May 2015 21:17:13 -0400, by Augie Fackler
-
run-tests: introduce PYTHON3 boolean constant (issue4668)Sun, 17 May 2015 21:12:33 -0400, by Augie Fackler
-
run-tests: drop subprocess _cleanup monkeypatchSun, 17 May 2015 21:15:45 -0400, by Augie Fackler
-
run-tests: drop wifexited polyfillSun, 17 May 2015 21:15:04 -0400, by Augie Fackler
-
test-import: update for no-execbit platforms with 1ef96a3b8b89Mon, 18 May 2015 11:43:10 -0400, by Matt Harbison
-
test-treemanifest: add globs for WindowsMon, 18 May 2015 11:37:29 -0400, by Matt Harbison
-
util: drop any() and all() polyfillsSat, 16 May 2015 14:37:24 -0400, by Augie Fackler
-
cleanup: use __builtins__.all instead of util.allSat, 16 May 2015 14:34:19 -0400, by Augie Fackler
-
check-code: un-ban __builtins__.all now that we're on 2.6Sat, 16 May 2015 14:34:04 -0400, by Augie Fackler
-
cleanup: use __builtins__.any instead of util.anySat, 16 May 2015 14:30:07 -0400, by Augie Fackler
-
check-code: un-ban any() now that we're on 2.6Sat, 16 May 2015 14:31:03 -0400, by Augie Fackler
-
walkchangerevs: replace try/except with 'next'Sun, 17 May 2015 18:11:02 -0700, by Pierre-Yves David
-
generatorset: use 'next()' to simplify the codeSun, 17 May 2015 18:06:09 -0700, by Pierre-Yves David
-
revset: use 'next()' to detect end of iteration in 'last'Sun, 17 May 2015 18:00:38 -0700, by Pierre-Yves David
-
revset: use 'next()' to detect end of iteration in 'limit'Sun, 17 May 2015 17:58:39 -0700, by Pierre-Yves David
-
_revancestors: use 'next' to remove the verbose try except clausesSun, 17 May 2015 17:54:58 -0700, by Pierre-Yves David
-
check-code: lift the ban on 'next()'Sun, 17 May 2015 17:47:42 -0700, by Pierre-Yves David
-
check-code: drop the 'isdisjoint' banSun, 17 May 2015 17:45:47 -0700, by Pierre-Yves David
-
check-code: fix the error message about 'class foo():'Sun, 17 May 2015 17:40:26 -0700, by Pierre-Yves David
-
check-code: remove the check for os.path.relpathSun, 17 May 2015 17:36:26 -0700, by Pierre-Yves David
-
patch: remove duplicated import of cStringIOSun, 17 May 2015 17:27:10 -0700, by Pierre-Yves David
-
check-commit: print limit when user has a too-long summaryMon, 18 May 2015 11:36:33 -0400, by Augie Fackler
-
paper: show branch/tags/bookmarks when blaming (issue3559)Fri, 15 May 2015 20:04:24 +0800, by Anton Shestakov
-
paper: show branch/tags/bookmarks when comparing (issue3559)Fri, 15 May 2015 20:03:42 +0800, by Anton Shestakov
-
paper: show branch/tags/bookmarks when diffing (issue3559)Fri, 15 May 2015 20:02:41 +0800, by Anton Shestakov
-
paper: show branch/tags/bookmarks when viewing (issue3559)Fri, 15 May 2015 20:00:47 +0800, by Anton Shestakov
-
paper: show branch/tags/bookmarks when browsing (issue3559)Fri, 15 May 2015 18:17:36 +0800, by Anton Shestakov
-
revset: extract addset._iterordered to free functionSat, 16 May 2015 21:42:09 +0900, by Yuya Nishihara
-
revset: use fastasc/fastdesc switch consistently in addset.__iter__Sat, 16 May 2015 14:05:02 +0900, by Yuya Nishihara
-
revset: drop redundant filteredset from right-hand side set of "or" operationMon, 30 Mar 2015 20:56:37 +0900, by Yuya Nishihara
-
getbundle: sort bundlecaps before exchanging then over the wireSun, 10 May 2015 05:11:13 -0700, by Pierre-Yves David
-
hg-ssh: reject push earlier (on pretxnopen)Sun, 10 May 2015 04:39:11 -0700, by Pierre-Yves David
-
test: test both bundle1 and bundle2 paths in 'test-push-hook-lock.t'Sun, 10 May 2015 03:06:00 -0700, by Pierre-Yves David
-
progress: get the extremely verbose output out of default debugSat, 09 May 2015 23:40:40 -0700, by Pierre-Yves David
-
hgweb: show changeset branches/tags/bookmarks in file log (style=monoblue)Fri, 15 May 2015 11:52:39 +0800, by Anton Shestakov
-
hgweb: show changeset branches/tags/bookmarks in file log (style=gitweb)Fri, 15 May 2015 11:42:09 +0800, by Anton Shestakov
-
match: resolve filesets in subrepos for commands given the '-S' argumentSat, 16 May 2015 00:36:35 -0400, by Matt Harbison
-
subrepo: introduce getfileset()Fri, 15 May 2015 23:13:05 -0400, by Matt Harbison
-
phase: default to current revision if no rev is provided (issue4666)Fri, 15 May 2015 09:46:21 +0200, by Gilles Moris
-
treemanifest: add --dir option to debug{revlog,data,index}Sun, 12 Apr 2015 23:51:06 -0700, by Martin von Zweigbergk
-
obsolete: sort obsmarkers during exchangeSun, 10 May 2015 06:48:08 -0700, by Pierre-Yves David
-
test-discovery-legacy: disable bundle2 for legacy testTue, 21 Apr 2015 12:01:34 +0200, by Pierre-Yves David
-
test-discovery: disable bundle2 for legacy test (issue4610)Tue, 21 Apr 2015 11:18:47 +0200, by Pierre-Yves David
-
revset: fix iteration over ordered addset composed of non-ordered operandsFri, 15 May 2015 00:25:43 -0700, by Pierre-Yves David
-
match: add match.ispartial()Fri, 15 May 2015 15:43:26 -0700, by Drew Gottlieb
-
util: drop alias for collections.dequeSat, 16 May 2015 11:28:04 -0700, by Martin von Zweigbergk
-
util: kill Python 2.4 deque.remove hackSat, 16 May 2015 09:03:21 +0200, by Adrian Buehlmann
-
summary: add a phase line (draft, secret) to the outputThu, 14 May 2015 17:38:38 +0200, by Gilles Moris
-
hgweb: also display changeset bookmarks in file log (style=paper)Fri, 15 May 2015 12:19:51 +0800, by Anton Shestakov
-
tests: test branch/tag/bookmark display in test-hgweb-filelog.tFri, 15 May 2015 13:30:34 +0800, by Anton Shestakov
-
hgweb: split some long lines in paper, gitweb and monoblue stylesFri, 15 May 2015 02:07:43 +0800, by Anton Shestakov
-
run-tests: add a --profile-runner optionWed, 13 May 2015 11:22:06 -0700, by Augie Fackler
-
test-http: drop compatibility check on Python >= 2.4.3Fri, 15 May 2015 10:24:59 +0200, by Gilles Moris
-
revset: remove unused 'only' from methods tableFri, 15 May 2015 22:38:24 +0900, by Yuya Nishihara
-
shelve: allow --patch and --stat without --list for a single shelfTue, 14 Apr 2015 16:23:54 -0400, by Tony Tung
-
shelve: refactor allowables to specify sets of valid operationsTue, 14 Apr 2015 16:23:07 -0400, by Tony Tung
-
merge with stableFri, 15 May 2015 11:52:09 -0500, by Matt Mackall
-
rebase: check that the bookmark is still valid when restoring (issue4669) stableThu, 14 May 2015 21:35:06 -0700, by Tony Tung
-
bookmarks: rename current to active in variables and commentsTue, 14 Apr 2015 12:53:48 -0700, by Ryan McElroy
-
rebase: remove extraneous blank at the end of fileThu, 14 May 2015 21:34:46 -0700, by Tony Tung
-
run-tests: include 'start' and 'end' in --time outputThu, 07 May 2015 23:40:29 -0700, by Pierre-Yves David
-
run-tests: track start and end time of testsThu, 07 May 2015 23:34:58 -0700, by Pierre-Yves David
-
templater: look for mapfiles in template pathsFri, 15 May 2015 09:07:27 -0400, by Jordi Gutiérrez Hermoso
-
config: give it an includepaths option for looking for config filesFri, 15 May 2015 09:04:32 -0400, by Jordi Gutiérrez Hermoso
-
revset: map postfix '%' to only() to optimize operand recursively (issue4670) stableFri, 15 May 2015 22:32:31 +0900, by Yuya Nishihara
-
dirs.c: pass C string, not Python string, to _finddir()Fri, 08 May 2015 14:13:12 -0700, by Martin von Zweigbergk
-
dirs.c: extract 'cpath' variable in _delpath() to match _addpath()Fri, 08 May 2015 14:11:00 -0700, by Martin von Zweigbergk
-
treemanifest: store submanifest revlog per directoryMon, 13 Apr 2015 23:21:02 -0700, by Martin von Zweigbergk
-
hghave: use try/except/finallyFri, 15 May 2015 10:29:39 -0500, by Matt Mackall
-
setup: use try/except/finallyFri, 15 May 2015 10:00:46 -0500, by Matt Mackall
-
util: use try/except/finallyFri, 15 May 2015 09:58:21 -0500, by Matt Mackall
-
tags: use try/except/finallyFri, 15 May 2015 09:58:02 -0500, by Matt Mackall
-
repoview: use try/except/finallyFri, 15 May 2015 09:57:44 -0500, by Matt Mackall
-
httppeer: use try/except/finallyFri, 15 May 2015 09:57:02 -0500, by Matt Mackall
-
hooks: use try/except/finallyFri, 15 May 2015 09:56:43 -0500, by Matt Mackall
-
hgweb: use try/except/finallyFri, 15 May 2015 09:56:27 -0500, by Matt Mackall
-
commands: use try/except/finallyFri, 15 May 2015 09:56:05 -0500, by Matt Mackall
-
bookmarks: use try/except/finallyFri, 15 May 2015 09:55:47 -0500, by Matt Mackall
-
shelve: use try/except/finallyFri, 15 May 2015 09:55:31 -0500, by Matt Mackall
-
largefiles: use try/except/finallyFri, 15 May 2015 09:55:15 -0500, by Matt Mackall
-
factotum: use try/except/finallyFri, 15 May 2015 09:54:56 -0500, by Matt Mackall
-
check-code: drop try/except/finally checkFri, 15 May 2015 09:54:35 -0500, by Matt Mackall
-
util.h: kill no longer needed definitions for Python < 2.6Thu, 14 May 2015 09:04:48 +0200, by Adrian Buehlmann
-
merge with stableThu, 14 May 2015 16:28:28 -0500, by Matt Mackall
-
setup: integrate osutil C extension into extmodules initializationThu, 14 May 2015 11:04:36 +0200, by Adrian Buehlmann
-
setup: move osutil_ldflags logic to before extmodules definitionThu, 14 May 2015 11:04:35 +0200, by Adrian Buehlmann
-
setup: kill pure hack for osutil on Windows for Python 2.4Thu, 14 May 2015 11:04:31 +0200, by Adrian Buehlmann
-
windows: add comment in normcase()Thu, 14 May 2015 11:37:36 +0200, by Adrian Buehlmann
-
rebase: clear merge when aborting before any rebasing (issue4661) stableSun, 10 May 2015 10:57:24 -0400, by Jordi Gutiérrez Hermoso
-
test-rebase-abort: add test from issue4009 stableSun, 10 May 2015 10:02:15 -0400, by Jordi Gutiérrez Hermoso
-
run-test.py: greatly increase the priority of 'check-code' testsFri, 08 May 2015 15:00:07 -0700, by Pierre-Yves David
-
run-tests: allow different extra weight for slow testsFri, 08 May 2015 00:04:07 -0700, by Pierre-Yves David
-
ignore: refactor syntax concatenationThu, 07 May 2015 21:00:46 -0700, by Durham Goode
-
ignore: refactor file read into a functionThu, 07 May 2015 20:57:37 -0700, by Durham Goode
-
import-checker: loop to get list of locally defined modules at firstThu, 14 May 2015 01:49:10 +0900, by FUJIWARA Katsunori
-
import-checker: add xargs like modeThu, 14 May 2015 01:49:10 +0900, by FUJIWARA Katsunori
-
store: add comment in _hashencode with reason for skipping the first 5 charsWed, 13 May 2015 20:36:56 +0200, by Adrian Buehlmann
-
test-run-tests: fix for Python 3.5Tue, 14 Apr 2015 10:57:15 -0400, by Augie Fackler
-
run-tests: make sure all script lines are bytesTue, 14 Apr 2015 16:09:39 -0400, by Augie Fackler
-
run-tests: fix checking a line to see if it needs globbingTue, 14 Apr 2015 10:56:58 -0400, by Augie Fackler
-
run-tests: unblock running python tests in python 3Tue, 14 Apr 2015 10:14:49 -0400, by Augie Fackler
-
run-tests: os.popen returns a string, make it bytes againMon, 13 Apr 2015 18:07:40 -0400, by Augie Fackler
-
run-tests: be more paranoid about os.system using bytesMon, 13 Apr 2015 17:24:10 -0400, by Augie Fackler
-
run-tests: blacklist entries are bytes, use bname to check blacklistingMon, 13 Apr 2015 17:17:17 -0400, by Augie Fackler
-
test-run-tests.t: work around file.write() returning an intMon, 13 Apr 2015 16:37:53 -0400, by Augie Fackler
-
run-tests: write bytes to the binary buffer on sys.{stdout,stderr}Tue, 14 Apr 2015 16:24:32 -0400, by Augie Fackler
-
run-tests: record faildata using bytes instead of strTue, 14 Apr 2015 16:21:10 -0400, by Augie Fackler
-
run-tests: do cdata escaping using bytes instead of strTue, 14 Apr 2015 16:18:11 -0400, by Augie Fackler
-
run-tests: make sure keyword(s) are in bytes and not strMon, 13 Apr 2015 16:33:12 -0400, by Augie Fackler
-
run-tests: use items instead of iteritems on dictsMon, 13 Apr 2015 16:31:19 -0400, by Augie Fackler
-
run-tests: refer to test.bname when sniffing for keywordsMon, 13 Apr 2015 16:30:40 -0400, by Augie Fackler
-
run-tests: string-escape no longer exists in python 3, use unicode_escapeMon, 13 Apr 2015 15:57:10 -0400, by Augie Fackler
-
run-tests: switch all uses of iolock.acquire() to a context managerMon, 13 Apr 2015 15:55:48 -0400, by Augie Fackler
-
run-tests: use difflib.diff_bytes on Python 3Tue, 21 Apr 2015 12:24:34 -0400, by Augie Fackler
-
run-tests: fix installation of hg by bytesifying more constantsSun, 12 Apr 2015 16:14:07 -0400, by Augie Fackler
-
setup: decode xcode version number on python3Sun, 12 Apr 2015 16:13:38 -0400, by Augie Fackler
-
run-tests: work around with_hg being bytes or string depending on provenanceSun, 12 Apr 2015 15:35:57 -0400, by Augie Fackler
-
run-tests: even more bytestring annotations for Python 3Tue, 14 Apr 2015 16:03:04 -0400, by Augie Fackler
-
run-tests: write bytes to sys.stdout.buffer in python 3Tue, 14 Apr 2015 16:02:49 -0400, by Augie Fackler
-
run-tests: be more judicious about bytes vs string on test attrsTue, 14 Apr 2015 15:59:59 -0400, by Augie Fackler
-
run-tests: fix _findprogram to reliably return bytesTue, 14 Apr 2015 15:56:44 -0400, by Augie Fackler
-
run-tests: introduce a name for os.environbTue, 14 Apr 2015 15:54:13 -0400, by Augie Fackler
-
run-tests: work around chr() producing unicode in Python 3Tue, 14 Apr 2015 15:52:45 -0400, by Augie Fackler
-
run-tests: use bytes when constructing shell scriptSat, 11 Apr 2015 18:28:32 -0400, by Augie Fackler
-
run-tests: use bytes explicitly for tmpdir and hgrc constructionSat, 11 Apr 2015 18:26:58 -0400, by Augie Fackler
-
run-tests: work around the rename of xrange to rangeSat, 11 Apr 2015 18:22:25 -0400, by Augie Fackler
-
heredoctest: 2to3 -w -f numliterals -f except -f print tests/heredoctest.pySun, 12 Apr 2015 15:34:17 -0400, by Augie Fackler
-
python3: update killdaemons and run-tests print and exception syntaxSat, 11 Apr 2015 18:20:44 -0400, by Augie Fackler
-
check-code: allow with statementsWed, 13 May 2015 11:49:38 -0700, by Pierre-Yves David
-
check-code: allow 'Except EClass as variable:'Wed, 13 May 2015 11:41:17 -0700, by Pierre-Yves David
-
check-code: allow print and exec as a functionWed, 13 May 2015 11:39:48 -0700, by Pierre-Yves David
-
pathencode: for long paths, strip first 5 chars, not first dirWed, 06 May 2015 15:58:14 -0700, by Martin von Zweigbergk
-
util.h: kill no longer needed definitions for Python < 2.5Wed, 13 May 2015 18:57:38 +0200, by Adrian Buehlmann
-
rebase: add short -k option for --keepTue, 12 May 2015 15:04:19 -0700, by Nat Mote
-
revset: test current behavior of addset classMon, 30 Mar 2015 19:51:40 +0900, by Yuya Nishihara
-
revset: remove duplicated definition of choice() from addset._iterordered()Mon, 27 Apr 2015 23:03:20 +0900, by Yuya Nishihara
-
canonpath: fix infinite recursionTue, 12 May 2015 19:40:45 -0500, by Matt Mackall
-
commit: no longer allow empty commit with the 'force' argument (API)Tue, 12 May 2015 11:44:14 -0700, by Pierre-Yves David
-
import: use ui.allowemptycommit to allow empty commitsMon, 11 May 2015 20:15:41 -0700, by Durham Goode
-
mq: use ui.allowemptycommit to allow empty commitsMon, 11 May 2015 17:51:22 -0700, by Durham Goode
-
commit: add ui.allowemptycommit config optionMon, 11 May 2015 16:18:28 -0700, by Durham Goode
-
commit: move empty commit condition to a new lineMon, 11 May 2015 16:16:22 -0700, by Durham Goode
-
dirs: speed up by storing number of direct children per dirFri, 08 May 2015 15:04:14 -0700, by Martin von Zweigbergk
-
dirs: back out forward-searching in finddirs()Fri, 08 May 2015 15:09:28 -0700, by Martin von Zweigbergk
-
templatekw: replace currentbookmark with activebookmark keywordWed, 15 Apr 2015 08:19:36 -0700, by Ryan McElroy
-
templatekw: introduce activebookmark keywordWed, 15 Apr 2015 08:12:04 -0700, by Ryan McElroy
-
templatekw: rename variable current to activeWed, 15 Apr 2015 08:26:01 -0700, by Ryan McElroy
-
pathutil: hint if a path is root relative instead of cwd relative (issue4663)Mon, 11 May 2015 21:26:13 -0400, by Matt Harbison
-
check-code: drop the python 2.5 warning for os.path.relpath()Mon, 11 May 2015 22:47:01 -0400, by Matt Harbison
-
setup.py: drop compatibility with Python 2.4 and 2.5 (BC)Fri, 08 May 2015 23:44:15 -0700, by Pierre-Yves David
-
rpm.spec: bump python dependency to 2.6Fri, 08 May 2015 23:28:33 -0700, by Pierre-Yves David
-
map-cmdline.bisect: rewrite to just %include the default templateSun, 10 May 2015 13:48:10 -0400, by Jordi Gutiérrez Hermoso
-
log: add a status templateSun, 10 May 2015 14:04:43 -0400, by Jordi Gutiérrez Hermoso
-
tests: fix hidden repeatability problem with age filter testTue, 12 May 2015 12:33:42 -0500, by Matt Mackall
-
help: rewrite template examples to use integer literals where appropriateSat, 02 May 2015 15:51:57 +0900, by Yuya Nishihara
-
templater: update error message of invalid number passed to word() functionSat, 02 May 2015 15:49:38 +0900, by Yuya Nishihara
-
templater: tokenize decimal integer literal (issue4638) (BC)Fri, 01 May 2015 20:43:55 +0900, by Yuya Nishihara
-
templater: switch methods table on compileexp() of func args and inner exprSat, 02 May 2015 18:05:04 +0900, by Yuya Nishihara
-
templatefilters: don't stringify None into "None"Sun, 10 May 2015 13:33:51 -0400, by Jordi Gutiérrez Hermoso
-
hgweb: clearly outline <tr> block in gitweb and spartan stylesSun, 10 May 2015 19:02:14 +0800, by Anton Shestakov
-
rebase: use dirstateguard instead of dirstate.invalidateThu, 07 May 2015 12:07:11 +0900, by FUJIWARA Katsunori
-
mq: use dirstateguard instead of dirstate.invalidate (qrefresh)Thu, 07 May 2015 12:07:11 +0900, by FUJIWARA Katsunori
-
mq: use dirstateguard instead of dirstate.invalidate (qpush)Thu, 07 May 2015 12:07:11 +0900, by FUJIWARA Katsunori
-
tryimportone: use dirstateguard instead of beginparentchange/endparentchangeThu, 07 May 2015 12:07:11 +0900, by FUJIWARA Katsunori
-
import: use dirstateguard instead of dirstate.invalidateThu, 07 May 2015 12:07:10 +0900, by FUJIWARA Katsunori
-
amend: use dirstateguard instead of dirstate.invalidateThu, 07 May 2015 12:07:10 +0900, by FUJIWARA Katsunori
-
localrepo: use changelog.hasnode instead of self.__contains__Thu, 07 May 2015 12:07:10 +0900, by FUJIWARA Katsunori
-
cmdutil: add class to restore dirstate during unexpected failureThu, 07 May 2015 12:07:10 +0900, by FUJIWARA Katsunori
-
merge with stableSun, 10 May 2015 14:45:13 -0500, by Matt Mackall
-
wix: add new json templates folder to MSI installersSat, 09 May 2015 16:06:04 -0500, by Steve Borho
-
templater: rename parsestring() to unquotestring() (API)Mon, 04 May 2015 10:03:13 +0900, by Yuya Nishihara
-
templater: remove noop calls of parsestring(s, quoted=False) (API)Mon, 04 May 2015 10:01:03 +0900, by Yuya Nishihara
-
bookmarks: simplify iscurrent to isactivewdirparent (API)Tue, 14 Apr 2015 12:45:15 -0700, by Ryan McElroy
-
tests: add a new commit to test-commandline-templateTue, 05 May 2015 14:45:09 -0400, by Jordi Gutiérrez Hermoso
-
run-tests: spread and document the content of time tupleThu, 07 May 2015 23:25:13 -0700, by Pierre-Yves David
-
run-tests: when building json, get time data in the same order as elsewhereThu, 07 May 2015 23:16:57 -0700, by Pierre-Yves David
-
run-tests: stop explicit expansion of time dataThu, 07 May 2015 20:45:51 -0700, by Pierre-Yves David
-
run-tests: refactor json entry creation logicFri, 08 May 2015 10:51:18 -0700, by Pierre-Yves David
-
run-tests: when building json, use result.failures instead of result.faildataThu, 07 May 2015 23:20:24 -0700, by Pierre-Yves David
-
run-test: add a test for json output when -i is usedFri, 08 May 2015 19:32:11 -0700, by Pierre-Yves David
-
changegroup: drop _changelog and _manifest propertiesThu, 30 Apr 2015 16:45:03 -0700, by Martin von Zweigbergk
-
changegroup: document the cases where reordering complicates linkrevsWed, 29 Apr 2015 13:25:07 -0700, by Martin von Zweigbergk
-
changegroup: extract condition for linkrev fastpathWed, 29 Apr 2015 10:34:28 -0700, by Martin von Zweigbergk
-
lazymanifest: drop SP before some labelsSun, 12 Apr 2015 07:14:53 -0700, by Martin von Zweigbergk
-
lazymanifest: avoid 'bail' label when used on success pathSun, 12 Apr 2015 07:12:39 -0700, by Martin von Zweigbergk
-
dockerdeb: rules to build a debian package using dockerWed, 06 May 2015 13:15:39 -0400, by Augie Fackler
-
packaging: extract packagelib for common code from builddeb and buildrpmThu, 07 May 2015 10:28:58 -0400, by Augie Fackler
-
builddeb: new script for building a deb packageWed, 06 May 2015 13:13:54 -0400, by Augie Fackler
-
dockerlib: fix initcontainer for boot2docker usersWed, 06 May 2015 14:36:17 -0400, by Augie Fackler
-
dockerlib: extract initcontainer() methodWed, 06 May 2015 10:45:51 -0400, by Augie Fackler
-
dockerlib: start extracting common functions for setting up dockerWed, 06 May 2015 10:45:07 -0400, by Augie Fackler
-
run-test: ensure the test ports are available before launching testThu, 07 May 2015 17:14:00 -0700, by Pierre-Yves David
-
templater: strip single backslash before quotation mark in quoted templateFri, 08 May 2015 18:11:26 +0900, by Yuya Nishihara
-
run-tests: implement Test._testMethodNameThu, 07 May 2015 23:18:48 -0700, by Pierre-Yves David
-
test-subrepo-git: ignore pax_global_header when listing archiveThu, 07 May 2015 16:43:58 -0700, by Pierre-Yves David
-
test-subrepo-recursion: glob out all the date listed by unzip -lThu, 07 May 2015 14:57:02 -0700, by Pierre-Yves David
-
bookmarks: remove unused updatecurrentbookmark function (API)Tue, 14 Apr 2015 13:31:50 -0700, by Ryan McElroy
-
changelog: drop unnecessary override of "hasnode"Sun, 10 May 2015 11:39:01 -0500, by Yuya Nishihara
-
test-run-test: unset run-test specific environment variables stableFri, 08 May 2015 11:32:24 -0700, by Pierre-Yves David
-
histedit: fix --continue when rules are finished stableFri, 01 May 2015 15:45:07 -0700, by Durham Goode
-
histedit: fix serializing of None backupfile stableFri, 01 May 2015 15:28:47 -0700, by Durham Goode
-
merge with stableThu, 07 May 2015 14:19:20 -0500, by Matt Mackall
-
treemanifest: set requires at repo creation time, ignore config afterTue, 05 May 2015 08:40:59 -0700, by Martin von Zweigbergk
-
remove: use ctx.hasdir(f) instead of 'f in ctx.dirs()'Tue, 21 Apr 2015 09:29:59 -0700, by Martin von Zweigbergk
-
largefiles: drop os.path.join() in subrepo archive overrideMon, 04 May 2015 23:04:12 -0400, by Matt Harbison
-
archive: drop the leading '.' path component from the prefix (issue4634)Tue, 05 May 2015 20:52:38 -0400, by Matt Harbison
-
hgweb: bring back infinite scroll in shortlog of paper style stableThu, 07 May 2015 07:46:39 +0900, by Yuya Nishihara
-
merge with stableThu, 07 May 2015 13:47:45 -0500, by Matt Mackall
-
extensions: clear aftercallbacks after execution (issue4646) stableWed, 06 May 2015 09:52:10 -0700, by Gregory Szorc
-
templater: strictly parse leading backslashes of '{' (issue4569) (BC) stableMon, 04 May 2015 10:17:34 +0900, by Yuya Nishihara
-
templater: do not process \-escapes at parsestring() (issue4290) stableMon, 04 May 2015 09:54:01 +0900, by Yuya Nishihara
-
bookmarks: rename bookmarkcurrent to activebookmark (API)Tue, 14 Apr 2015 13:17:33 -0700, by Ryan McElroy
-
bookmarks: rename readcurrent to readactive (API)Mon, 13 Apr 2015 23:03:13 -0700, by Ryan McElroy
-
bookmarks: rename setcurrent to activate (API)Mon, 13 Apr 2015 22:27:01 -0700, by Ryan McElroy
-
bookmarks: rename unsetcurrent to deactivate (API)Mon, 13 Apr 2015 21:53:37 -0700, by Ryan McElroy
-
subrepo: correctly handle git subdirectory status changeWed, 06 May 2015 17:15:38 +0200, by Mathias De Maré
-
merge with stableWed, 06 May 2015 16:56:28 -0500, by Matt Mackall