Mon, 13 Apr 2015 15:55:48 -0400 run-tests: switch all uses of iolock.acquire() to a context manager
Augie Fackler <augie@google.com> [Mon, 13 Apr 2015 15:55:48 -0400] rev 25046
run-tests: switch all uses of iolock.acquire() to a context manager
Tue, 21 Apr 2015 12:24:34 -0400 run-tests: use difflib.diff_bytes on Python 3
Augie Fackler <augie@google.com> [Tue, 21 Apr 2015 12:24:34 -0400] rev 25045
run-tests: use difflib.diff_bytes on Python 3 This method was introduced in Python 3.5 to satisfy our diffing-strings-of-bytes needs.
Sun, 12 Apr 2015 16:14:07 -0400 run-tests: fix installation of hg by bytesifying more constants
Augie Fackler <augie@google.com> [Sun, 12 Apr 2015 16:14:07 -0400] rev 25044
run-tests: fix installation of hg by bytesifying more constants
Sun, 12 Apr 2015 16:13:38 -0400 setup: decode xcode version number on python3
Augie Fackler <augie@google.com> [Sun, 12 Apr 2015 16:13:38 -0400] rev 25043
setup: decode xcode version number on python3
Sun, 12 Apr 2015 15:35:57 -0400 run-tests: work around with_hg being bytes or string depending on provenance
Augie Fackler <augie@google.com> [Sun, 12 Apr 2015 15:35:57 -0400] rev 25042
run-tests: work around with_hg being bytes or string depending on provenance
Tue, 14 Apr 2015 16:03:04 -0400 run-tests: even more bytestring annotations for Python 3
Augie Fackler <augie@google.com> [Tue, 14 Apr 2015 16:03:04 -0400] rev 25041
run-tests: even more bytestring annotations for Python 3
Tue, 14 Apr 2015 16:02:49 -0400 run-tests: write bytes to sys.stdout.buffer in python 3
Augie Fackler <augie@google.com> [Tue, 14 Apr 2015 16:02:49 -0400] rev 25040
run-tests: write bytes to sys.stdout.buffer in python 3
Tue, 14 Apr 2015 15:59:59 -0400 run-tests: be more judicious about bytes vs string on test attrs
Augie Fackler <augie@google.com> [Tue, 14 Apr 2015 15:59:59 -0400] rev 25039
run-tests: be more judicious about bytes vs string on test attrs This introduces a bname attribute for when we need to use the test name in a path, and retains name for when we need it as a string. Sadly, we seem to need both of these.
Tue, 14 Apr 2015 15:56:44 -0400 run-tests: fix _findprogram to reliably return bytes
Augie Fackler <augie@google.com> [Tue, 14 Apr 2015 15:56:44 -0400] rev 25038
run-tests: fix _findprogram to reliably return bytes
Tue, 14 Apr 2015 15:54:13 -0400 run-tests: introduce a name for os.environb
Augie Fackler <augie@google.com> [Tue, 14 Apr 2015 15:54:13 -0400] rev 25037
run-tests: introduce a name for os.environb On python 2 this is just os.environ, but on python 3 we need to get to os.environb in several places.
Tue, 14 Apr 2015 15:52:45 -0400 run-tests: work around chr() producing unicode in Python 3
Augie Fackler <augie@google.com> [Tue, 14 Apr 2015 15:52:45 -0400] rev 25036
run-tests: work around chr() producing unicode in Python 3
Sat, 11 Apr 2015 18:28:32 -0400 run-tests: use bytes when constructing shell script
Augie Fackler <augie@google.com> [Sat, 11 Apr 2015 18:28:32 -0400] rev 25035
run-tests: use bytes when constructing shell script
Sat, 11 Apr 2015 18:26:58 -0400 run-tests: use bytes explicitly for tmpdir and hgrc construction
Augie Fackler <augie@google.com> [Sat, 11 Apr 2015 18:26:58 -0400] rev 25034
run-tests: use bytes explicitly for tmpdir and hgrc construction We now get slightly further on Python 3. Python 2.6 still works.
Sat, 11 Apr 2015 18:22:25 -0400 run-tests: work around the rename of xrange to range
Augie Fackler <augie@google.com> [Sat, 11 Apr 2015 18:22:25 -0400] rev 25033
run-tests: work around the rename of xrange to range
Sun, 12 Apr 2015 15:34:17 -0400 heredoctest: 2to3 -w -f numliterals -f except -f print tests/heredoctest.py
Augie Fackler <augie@google.com> [Sun, 12 Apr 2015 15:34:17 -0400] rev 25032
heredoctest: 2to3 -w -f numliterals -f except -f print tests/heredoctest.py
Sat, 11 Apr 2015 18:20:44 -0400 python3: update killdaemons and run-tests print and exception syntax
Augie Fackler <augie@google.com> [Sat, 11 Apr 2015 18:20:44 -0400] rev 25031
python3: update killdaemons and run-tests print and exception syntax test-run-tests.t still passes fine on Python 2.6. run-tests.py --local no longer fails with syntax errors, and now fails looking for xrange. Most changes done with 2to3 -w -f numliterals -f except -f print tests/run-tests.py tests/killdaemons.py after which one import was fixed in run-tests and a __future__ import was added.
Wed, 13 May 2015 11:49:38 -0700 check-code: allow with statements
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 13 May 2015 11:49:38 -0700] rev 25030
check-code: allow with statements We dropped python 2.4 compatibility.
Wed, 13 May 2015 11:41:17 -0700 check-code: allow 'Except EClass as variable:'
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 13 May 2015 11:41:17 -0700] rev 25029
check-code: allow 'Except EClass as variable:' Python 2.4 compatibility has been dropped.
Wed, 13 May 2015 11:39:48 -0700 check-code: allow print and exec as a function
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 13 May 2015 11:39:48 -0700] rev 25028
check-code: allow print and exec as a function This is required to move forward on python3 compatibility.
Wed, 06 May 2015 15:58:14 -0700 pathencode: for long paths, strip first 5 chars, not first dir
Martin von Zweigbergk <martinvonz@google.com> [Wed, 06 May 2015 15:58:14 -0700] rev 25027
pathencode: for long paths, strip first 5 chars, not first dir When encoding long paths, the pure Python code strips the first directory from the path, while the native code currently strips the first 5 characters. This discrepancy has not been a problem so far, since we have not stored anything in directories other than data/. However, we will soon be storing submanifest revlogs in metadata/, so the discrepancy will have to go [1]. Since file collisions are avoided by the hashing alone (which is done on the full unencoded path), it doesn't really matter whether we drop the first dir, the first 5 characters, or special-case non-data/. To avoid touching the C code, let's always strip the first 5 characters. [1] Or maybe elsewhere, but the discrepancy is ugly either way.
Wed, 13 May 2015 18:57:38 +0200 util.h: kill no longer needed definitions for Python < 2.5
Adrian Buehlmann <adrian@cadifra.com> [Wed, 13 May 2015 18:57:38 +0200] rev 25026
util.h: kill no longer needed definitions for Python < 2.5 see e1fb276d4619
Tue, 12 May 2015 15:04:19 -0700 rebase: add short -k option for --keep
Nat Mote <nmote@fb.com> [Tue, 12 May 2015 15:04:19 -0700] rev 25025
rebase: add short -k option for --keep histedit and strip already have a short option for keep, so this makes the interface more consistent
Mon, 30 Mar 2015 19:51:40 +0900 revset: test current behavior of addset class
Yuya Nishihara <yuya@tcha.org> [Mon, 30 Mar 2015 19:51:40 +0900] rev 25024
revset: test current behavior of addset class The addset class isn't simple and it has a hidden bug that will be fixed by future patches. So let's test the current behavior.
Mon, 27 Apr 2015 23:03:20 +0900 revset: remove duplicated definition of choice() from addset._iterordered()
Yuya Nishihara <yuya@tcha.org> [Mon, 27 Apr 2015 23:03:20 +0900] rev 25023
revset: remove duplicated definition of choice() from addset._iterordered() choice() is already defined before val1 = None. Perhaps there was merge or rebase error.
Tue, 12 May 2015 19:40:45 -0500 canonpath: fix infinite recursion
Matt Mackall <mpm@selenic.com> [Tue, 12 May 2015 19:40:45 -0500] rev 25022
canonpath: fix infinite recursion
Tue, 12 May 2015 11:44:14 -0700 commit: no longer allow empty commit with the 'force' argument (API)
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 12 May 2015 11:44:14 -0700] rev 25021
commit: no longer allow empty commit with the 'force' argument (API) The new way to allow empty commit is to temporarily set the 'ui.allowemptycommit' config option. allowemptyback = repo.ui.backupconfig('ui', 'allowemptycommit') try: repo.ui.setconfig('ui', 'allowemptycommit', True) repo.commit(...) finally: repo.ui.restoreconfig(allowemptyback) All known uses of force for allowing empty commits have been removed, so let's remove it from the allowemptycommits condition.
Mon, 11 May 2015 20:15:41 -0700 import: use ui.allowemptycommit to allow empty commits
Durham Goode <durham@fb.com> [Mon, 11 May 2015 20:15:41 -0700] rev 25020
import: use ui.allowemptycommit to allow empty commits Previously import used force=partial to allow empty commits to be made. Let's switch it to using the new ui.allowemptycommit option. Tests says we can drop the 'force' argument in the processs.
Mon, 11 May 2015 17:51:22 -0700 mq: use ui.allowemptycommit to allow empty commits
Durham Goode <durham@fb.com> [Mon, 11 May 2015 17:51:22 -0700] rev 25019
mq: use ui.allowemptycommit to allow empty commits Previously, mq used the force flag to allow empty commits. Now that we have ui.allowemptycommit let's switch to that instead. We can't completely remove the force flag since it is used for a bunch of other behavior in localrepo.commit.
Mon, 11 May 2015 16:18:28 -0700 commit: add ui.allowemptycommit config option
Durham Goode <durham@fb.com> [Mon, 11 May 2015 16:18:28 -0700] rev 25018
commit: add ui.allowemptycommit config option This adds a config flag that enables a user to make empty commits. This is useful in a number of cases. For instance, automation that creates release branches via bookmarks may want to make empty commits to that release bookmark so that it can't be fast-forwarded and so it can record information about the release bookmark's creation. This is already possible with named branches, so making it possible for bookmarks makes sense. Another case we've wanted it is for mirroring repositories into Mercurial. We have automation that syncs commits into hg by running things from the command line. The ability to produce empty commits is useful for syncing unusual commits from other VCS's. In general, allowing the user to create the DAG as they see fit seems useful, and when I mentioned this in IRC more than one person piped up and said they were already hacking around this limitation by using mq, import, and commit-dummy-change-then-amend-the-content-away style solutions.
Mon, 11 May 2015 16:16:22 -0700 commit: move empty commit condition to a new line
Durham Goode <durham@fb.com> [Mon, 11 May 2015 16:16:22 -0700] rev 25017
commit: move empty commit condition to a new line The empty commit condition was a messy if condition. Let's move it to a new line and change it to 'or' statements so it's cleaner and more readable. A future commit will add additional logic to this line.
Fri, 08 May 2015 15:04:14 -0700 dirs: speed up by storing number of direct children per dir
Martin von Zweigbergk <martinvonz@google.com> [Fri, 08 May 2015 15:04:14 -0700] rev 25016
dirs: speed up by storing number of direct children per dir The Python version of the dirs type stores only the number of direct children associated with each directory. That means that while adding a directory, it only has to walk backwards until it runs into a directory that is already in its map. The C version walks all the way to the top-most directory. By copying the Python version's clever trick to the C code, we can speed it up quite a bit. On the Firefox repo, perfdirs now runs in 0.031390, from 0.056518 before the undoing Sid's optimization in the previous change, and 0.061835 before previous his optimization. More practically, it speeds up 'hg status nonexistent' on the Firefox repo from 0.176s to 0.155s. It's unclear why the C version did not have the same cleverness implemented from the start, especially given that they were both written by the same person (Bryan O'Sullivan) very close in time: 856960173630 (scmutil: add a dirs class, 2013-04-10) 02ee846b246a (scmutil: rewrite dirs in C, use if available, 2013-04-10)
Fri, 08 May 2015 15:09:28 -0700 dirs: back out forward-searching in finddirs()
Martin von Zweigbergk <martinvonz@google.com> [Fri, 08 May 2015 15:09:28 -0700] rev 25015
dirs: back out forward-searching in finddirs() This backs out the changes below. The next patch will implement a faster algorithm based on backward-walking in finddirs(). 67241ee427cf (dirs._addpath: reinstate use of Py_CLEAR, 2015-04-07) 6f0e6fa9fdd7 (dirs._addpath: don't mutate Python strings after exposing them (issue4589), 2015-04-06) 1a9efc312700 (dirs.addpath: rework algorithm to search forward, 2015-03-27)
(0) -10000 -3000 -1000 -300 -100 -50 -32 +32 +50 +100 +300 +1000 +3000 +10000 tip