Sun, 26 Dec 2010 11:59:07 +0100 test-static-http.t: get kill actually working
Adrian Buehlmann <adrian@cadifra.com> [Sun, 26 Dec 2010 11:59:07 +0100] rev 13208
test-static-http.t: get kill actually working - signal handlers take two arguments, not one - add missing import sys Before this patch, the $ kill $! at the end of the test just caused a hidden traceback, sys.exit(0) was not executed. The swallowed traceback was: Traceback (most recent call last): File "dumb.py", line 10, in <module> run() File "dumb.py", line 7, in run httpd.serve_forever() File "/usr/lib/python2.6/SocketServer.py", line 224, in serve_forever r, w, e = select.select([self], [], [], poll_interval) TypeError: <lambda>() takes exactly 1 argument (2 given)
Fri, 24 Dec 2010 15:22:00 +0100 hooks: sort any dictionaries set in the environment
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Fri, 24 Dec 2010 15:22:00 +0100] rev 13207
hooks: sort any dictionaries set in the environment The actual order of dictionary items is implementation-defined in Python, and differs between CPython and PyPy. With this change, test-hooks.t passes with PyPy.
Mon, 27 Dec 2010 01:12:31 +0100 windows.rename: eliminate temp name race (issue2571) stable
Adrian Buehlmann <adrian@cadifra.com> [Mon, 27 Dec 2010 01:12:31 +0100] rev 13206
windows.rename: eliminate temp name race (issue2571) On Windows, os.rename reliably raises OSError with errno.EEXIST if the destination already exists (even on shares served by Samba). Windows does *not* silently overwrite the destination of a rename. So there is no need to first call os.path.exists on the chosen temp path. Trusting os.path.exists is actually harmful, since using it enables the following racy sequence of actions: 1) os.path.exists(temp) returns False 2) some evil other process creates a file with name temp 3) os.rename(dst, temp) now fails because temp has been taken Not using os.path.exists and directly trying os.rename(dst, temp) eliminates this race.
Tue, 28 Dec 2010 13:31:30 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 28 Dec 2010 13:31:30 -0600] rev 13205
merge with stable
Mon, 13 Dec 2010 22:38:06 +0100 checknlink: use two testfiles (issue2543) stable
Adrian Buehlmann <adrian@cadifra.com> [Mon, 13 Dec 2010 22:38:06 +0100] rev 13204
checknlink: use two testfiles (issue2543) Preventing file loss repository corruption (e.g. vanished changelog.i) when Mercurial pushes to repositories on Windows shares served by Samba. This is a workaround for Samba bug 7863, which is present in current latest stable Samba 3.5.6 and various prior versions down to 3.0.26a (the oldest one I tested). Of course this should be fixed in Samba, but there probably aren't that many other applications who use hardlinks that extensively and keep files open like Mercurial, so the pressure to fix this on Samba is probably not that high. And even if the Samba project should be able to fix their bug within a month or two, it will take quite some time until users upgrade their Samba installs.
Sun, 19 Dec 2010 21:49:54 -0500 help: correct documentation for branches keyword stable
John Peberdy <john@peberdy.ca> [Sun, 19 Dec 2010 21:49:54 -0500] rev 13203
help: correct documentation for branches keyword
Fri, 24 Dec 2010 01:17:18 +0900 notify: use util.ellipsis() to truncate long subject stable
Yuya Nishihara <yuya@tcha.org> [Fri, 24 Dec 2010 01:17:18 +0900] rev 13202
notify: use util.ellipsis() to truncate long subject
Mon, 20 Dec 2010 16:56:54 +0800 smtp: fix for server doesn't support starttls extension
Zhigang Wang <zhigang.x.wang@oracle.com> [Mon, 20 Dec 2010 16:56:54 +0800] rev 13201
smtp: fix for server doesn't support starttls extension Currently we only support enabling TLS by using SMTP STARTTLS extension. But not all the servers support it. With this patch, user can choose which way to enable TLS: * Default: tls = none port = 25 * To use STARTTLS: tls = starttls port = 465 * To use SMTP over SSL: tls = smtps port = 465 To keep backward compatibility, when tls = true, we use STARTTLS to enable TLS. Signed-off-by: Zhigang Wang <w1z2g3@gmail.com>
Thu, 02 Dec 2010 03:43:06 +0100 avoid .split() in for loops and use tuples instead
David Soria Parra <dsp@php.net> [Thu, 02 Dec 2010 03:43:06 +0100] rev 13200
avoid .split() in for loops and use tuples instead split can be more readable for longer lists like the list in dirstate.invalidate. As dirstate.invalidate is used in wlock() and therefoe used heavily, I think it's worth avoiding a split there too.
Mon, 06 Dec 2010 16:56:06 +0100 hgweb: added revision date to annotate line data
Oli Thissen <oli@tonick.net> [Mon, 06 Dec 2010 16:56:06 +0100] rev 13199
hgweb: added revision date to annotate line data The only revision information yielded by the annotate view was the revision number itself. The patch allows the use of per-line revision dates in the corresponding templates.
Tue, 21 Dec 2010 19:44:28 +0900 patchbomb: save introductory message in .hg/last-email.txt
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 21 Dec 2010 19:44:28 +0900] rev 13198
patchbomb: save introductory message in .hg/last-email.txt
Fri, 17 Dec 2010 12:05:45 +0000 opener: forbid paths ending with directory separator (issue2507)
Jim Hague <jim.hague@acm.org> [Fri, 17 Dec 2010 12:05:45 +0000] rev 13197
opener: forbid paths ending with directory separator (issue2507) If Linux is asked to open a filename with a trailing directory separator, e.g. "foo/", the open fails with EISDIR. On AIX, the open succeeds, opening file "foo". This causes test-mq-qnew to fail on AIX. Fix by adding 'ends with directory separator' to the conditions checked by the path auditor. Change test to expect auditor fail message.
Tue, 21 Dec 2010 15:27:58 -0600 record: clean up command table
Kevin Bullock <kbullock@ringworld.org> [Tue, 21 Dec 2010 15:27:58 -0600] rev 13196
record: clean up command table The --force option to qnew has become a no-op, so qrecord doesn't need to use it. This allows record's command table to be simplified; in the process of doing so, this patch also cleans up the cmdtable visually.
Tue, 21 Dec 2010 15:23:48 -0600 record: clean up comments and docstrings
Kevin Bullock <kbullock@ringworld.org> [Tue, 21 Dec 2010 15:23:48 -0600] rev 13195
record: clean up comments and docstrings Rewrap comments and docstrings to a width of 72 chars and copy-edit.
Tue, 28 Dec 2010 14:53:08 +0100 test-doctest: test url.py again, removed by 7cc4263e07a9
Patrick Mezard <pmezard@gmail.com> [Tue, 28 Dec 2010 14:53:08 +0100] rev 13194
test-doctest: test url.py again, removed by 7cc4263e07a9
Mon, 27 Dec 2010 17:54:45 +0100 merge with stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 27 Dec 2010 17:54:45 +0100] rev 13193
merge with stable
Mon, 27 Dec 2010 17:49:58 +0100 https: use web.cacerts configuration from local repo to validate remote repo stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 27 Dec 2010 17:49:58 +0100] rev 13192
https: use web.cacerts configuration from local repo to validate remote repo
Sun, 26 Dec 2010 00:43:49 +0100 extensions: warn about invalid extensions when listing disabled commands
Mads Kiilerich <mads@kiilerich.com> [Sun, 26 Dec 2010 00:43:49 +0100] rev 13191
extensions: warn about invalid extensions when listing disabled commands Invalid extensions in hgext/ could in some cases cause a crash when searching for unknown commands in disabled extensions. With this change we issue a warning if extracting commands from the extensions fails. Traceback is available on request. Reported on https://bugzilla.redhat.com/show_bug.cgi?id=663183 with forest.py.
Wed, 22 Dec 2010 13:25:00 -0600 convert: subversion should use util.quotecommand to wrap args to popen2
Steve Borho <steve@borho.org> [Wed, 22 Dec 2010 13:25:00 -0600] rev 13190
convert: subversion should use util.quotecommand to wrap args to popen2 All other callers of util.popen2 and util.popen3 do this, as well as direct callers of subprocess.Popen.
Thu, 23 Dec 2010 13:23:20 -0600 merge with stable
Steve Borho <steve@borho.org> [Thu, 23 Dec 2010 13:23:20 -0600] rev 13189
merge with stable
Wed, 22 Dec 2010 13:25:00 -0600 util: concentrate quoting knowledge to windows.py quotecommand() stable
Steve Borho <steve@borho.org> [Wed, 22 Dec 2010 13:25:00 -0600] rev 13188
util: concentrate quoting knowledge to windows.py quotecommand() This fixes all callers of util.quotecommand() and place special knowledge of the bugfix in 2.7.1 in a single platform specific place.
Wed, 22 Dec 2010 13:16:03 -0600 templater: clarify engine caching
Matt Mackall <mpm@selenic.com> [Wed, 22 Dec 2010 13:16:03 -0600] rev 13187
templater: clarify engine caching
Wed, 22 Dec 2010 13:16:00 -0600 merge with crew
Matt Mackall <mpm@selenic.com> [Wed, 22 Dec 2010 13:16:00 -0600] rev 13186
merge with crew
Tue, 21 Dec 2010 19:47:36 +0900 tests: clean up test-rollback.t
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 21 Dec 2010 19:47:36 +0900] rev 13185
tests: clean up test-rollback.t The last comment is on the last file line and is useless, seems like it was introduced in 8fdc11fec6ae during unification.
Mon, 20 Dec 2010 15:27:15 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 15:27:15 -0600] rev 13184
merge with stable
Mon, 20 Dec 2010 15:26:36 -0600 url: fix trailing whitespace stable
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 15:26:36 -0600] rev 13183
url: fix trailing whitespace
Mon, 20 Dec 2010 13:59:33 -0500 subrepo: basic support for status of git subrepos
Eric Eisner <ede@mit.edu> [Mon, 20 Dec 2010 13:59:33 -0500] rev 13182
subrepo: basic support for status of git subrepos
Mon, 20 Dec 2010 13:59:33 -0500 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu> [Mon, 20 Dec 2010 13:59:33 -0500] rev 13181
subrepo: fix subrelpath for git subrepos This patch conforms gitsubrepo code to the variable naming scheme of the other subrepo implementations. All user-facing path references should be relative to the root repository.
Mon, 20 Dec 2010 13:59:33 -0500 subrepo: fix git archive parsing of directories and symfiles
Eric Eisner <ede@mit.edu> [Mon, 20 Dec 2010 13:59:33 -0500] rev 13180
subrepo: fix git archive parsing of directories and symfiles
Mon, 20 Dec 2010 13:59:33 -0500 subrepo: support ignoreupdate in gitsubrepo's dirty()
Eric Eisner <ede@mit.edu> [Mon, 20 Dec 2010 13:59:33 -0500] rev 13179
subrepo: support ignoreupdate in gitsubrepo's dirty()
Mon, 20 Dec 2010 13:59:19 -0500 subrepo: backout 519ac79d680b
Eric Eisner <ede@mit.edu> [Mon, 20 Dec 2010 13:59:19 -0500] rev 13178
subrepo: backout 519ac79d680b Unfortunately git 1.6 does not support the upstream parameter in for-each-ref.
Mon, 20 Dec 2010 12:12:18 -0600 url: fix check-code whitespace complaint
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:12:18 -0600] rev 13177
url: fix check-code whitespace complaint
Mon, 20 Dec 2010 12:09:00 -0600 templater: use the parser.py parser to extend the templater syntax
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:09:00 -0600] rev 13176
templater: use the parser.py parser to extend the templater syntax
Mon, 20 Dec 2010 12:09:00 -0600 templater: give slightly nicer error for unknown map entries
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:09:00 -0600] rev 13175
templater: give slightly nicer error for unknown map entries
Tue, 07 Dec 2010 22:14:43 -0600 mq: update .hgsubstate if subrepos are clean (issue2499)
Kevin Bullock <kbullock@ringworld.org> [Tue, 07 Dec 2010 22:14:43 -0600] rev 13174
mq: update .hgsubstate if subrepos are clean (issue2499) This patch prevents MQ from creating an inconsistent subrepo state. If the .hgsub file has been changed, and none of the subrepos have uncommitted changes, creating or updating a patch (using qnew, qrefresh, or qrecord) will update .hgsubstate accordingly. If any subrepos _do_ have uncommitted changes, qnew/qrefresh/qrecord will abort. Thanks to pmezard for proposing this solution.
Tue, 07 Dec 2010 22:14:43 -0600 backout f08df4d38442
Kevin Bullock <kbullock@ringworld.org> [Tue, 07 Dec 2010 22:14:43 -0600] rev 13173
backout f08df4d38442
Fri, 17 Dec 2010 13:38:15 +0100 subrepo: backout f02d7a562a21
Erik Zielke <ez@aragost.com> [Fri, 17 Dec 2010 13:38:15 +0100] rev 13172
subrepo: backout f02d7a562a21 backing out f02d7a562a21 because it introduced a bug in .hgsubstate handling.
Mon, 20 Dec 2010 12:08:56 -0600 merge with i18n
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:08:56 -0600] rev 13171
merge with i18n
Mon, 20 Dec 2010 12:08:50 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:08:50 -0600] rev 13170
merge with stable
Fri, 17 Dec 2010 10:40:26 +0100 fncachestore: copy dh directory before the manifest stable
Adrian Buehlmann <adrian@cadifra.com> [Fri, 17 Dec 2010 10:40:26 +0100] rev 13169
fncachestore: copy dh directory before the manifest Before this patch, the copy order on clone was: requires 00changelog.i store\data store\00manifest.d store\00manifest.i store\00changelog.d store\00changelog.i store\dh store\fncache Which provides a theoretical non-zero probability of a race during clone where a very early reader might see a repository with missing revlog files if it sees 00changelog.i before all files inside dh have been copied. The dh directory is similar to the data directory -- just for files with long names (which are hashed). The manifest refers to files in data *and* dh, so dh should be copied before the manifest. This patch improves the copy order to: requires 00changelog.i store\data store\dh store\fncache store\00manifest.d store\00manifest.i store\00changelog.d store\00changelog.i I'm putting fncache to before the manifest while I'm at it, since fncache provides a mechanism to enumerate all repository files without visiting the manifest revisions. fncache depends only on data and dh. Note that data must be copied first, since copying data triggers the creation of the repository write lock in the destination repo (see hg.clone).
Mon, 20 Dec 2010 12:05:50 -0600 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:05:50 -0600] rev 13168
merge with i18n
Fri, 10 Dec 2010 12:51:37 +0100 i18n: merge with stable
Martin Geisler <mg@aragost.com> [Fri, 10 Dec 2010 12:51:37 +0100] rev 13167
i18n: merge with stable
Fri, 10 Dec 2010 12:48:57 +0100 i18n-da: synchronize with 5dac0d04b838 stable
Martin Geisler <mg@aragost.com> [Fri, 10 Dec 2010 12:48:57 +0100] rev 13166
i18n-da: synchronize with 5dac0d04b838
Sat, 04 Dec 2010 19:28:15 +0100 i18n-de: translated strings for the purge extension stable
Arne Babenhauserheide <arne@draketo.de> [Sat, 04 Dec 2010 19:28:15 +0100] rev 13165
i18n-de: translated strings for the purge extension
Sat, 18 Dec 2010 22:06:11 +0100 merge with stable
Mads Kiilerich <mads@kiilerich.com> [Sat, 18 Dec 2010 22:06:11 +0100] rev 13164
merge with stable
Sat, 18 Dec 2010 21:58:52 +0100 https: warn when server certificate isn't verified stable
Mads Kiilerich <mads@kiilerich.com> [Sat, 18 Dec 2010 21:58:52 +0100] rev 13163
https: warn when server certificate isn't verified Mercurial will verify HTTPS server certificates if web.cacerts is configured, but it will by default silently not verify any certificates. We now warn the user that when the certificate isn't verified she won't get the security she might expect from https: warning: localhost certificate not verified (check web.cacerts config setting) Self-signed certificates can be accepted silently by configuring web.cacerts to point to a suitable certificate file.
Mon, 13 Dec 2010 11:46:31 -0500 merge: document some internal return values.
Greg Ward <greg-hg@gerg.ca> [Mon, 13 Dec 2010 11:46:31 -0500] rev 13162
merge: document some internal return values.
Thu, 16 Dec 2010 14:50:37 -0600 check-code: catch os.path.relpath
Matt Mackall <mpm@selenic.com> [Thu, 16 Dec 2010 14:50:37 -0600] rev 13161
check-code: catch os.path.relpath
Thu, 16 Dec 2010 14:50:36 -0600 check-code: catch "except as"
Matt Mackall <mpm@selenic.com> [Thu, 16 Dec 2010 14:50:36 -0600] rev 13160
check-code: catch "except as"
Thu, 16 Dec 2010 14:50:27 -0600 tests: eliminate fast-forward merge in test-tag
Matt Mackall <mpm@selenic.com> [Thu, 16 Dec 2010 14:50:27 -0600] rev 13159
tests: eliminate fast-forward merge in test-tag
Tue, 07 Dec 2010 03:29:21 +0100 merge: fast-forward merge with descendant
Mads Kiilerich <mads@kiilerich.com> [Tue, 07 Dec 2010 03:29:21 +0100] rev 13158
merge: fast-forward merge with descendant issue2538 gives a case where a changeset is merged with its child (which is on another branch), and to my surprise the result is a real merge with two parents, not just a "fast forward" "merge" with only the child as parent. That is essentially the same as issue619. Is the existing behaviour as intended and correct? Or is the following fix correct? Some extra "created new head" pops up with this fix, but it seems to me like they could be considered correct. The old branch head has been superseeded by changes on the other branch, and when the changes on the other branch is merged back to the branch it will introduce a new head not directly related to the previous branch head. (I guess the intention with existing behaviour could be to ensure that the changesets on the branch are directly connected and that no new heads pops up on merges.)
Wed, 08 Dec 2010 22:14:18 -0600 record: teach parsepatch() about non-git style headers
Steve Borho <steve@borho.org> [Wed, 08 Dec 2010 22:14:18 -0600] rev 13157
record: teach parsepatch() about non-git style headers These changes are not useful to record itself, since it is hard coded to always generate git style diffs. But it makes parsepatch() more generally useful for parsing normal patch files.
Mon, 13 Dec 2010 10:30:15 -0500 template: add showbranch template for {branch}
Eric Eisner <ede@mit.edu> [Mon, 13 Dec 2010 10:30:15 -0500] rev 13156
template: add showbranch template for {branch} Like showbranches, but always yields exactly one branch. Replaces the less correct {branches|nonempty}.
Mon, 29 Nov 2010 09:37:23 +0100 subrepo: avoids empty commit when .hgsubstate is dirty (issue2403)
Erik Zielke <ez@aragost.com> [Mon, 29 Nov 2010 09:37:23 +0100] rev 13155
subrepo: avoids empty commit when .hgsubstate is dirty (issue2403) This patch avoids empty commit when .hgsubstate is dirty. Empty commit was caused by .hgsubstate being updated back to the state of the working copy parent when committing, if a user had changed it manually and not made any changes in subrepositories. The subrepository state from the working copies parent is compared with the state calculated as a result of trying to commit the subrepositories. If the two states are the same, then return None otherwise the commit is just done. The line: "committing subrepository x" will be written if there is nothing committed, but .hgsubstate is dirty for x subrepository.
Thu, 16 Dec 2010 07:45:22 -0600 progress: don't compute estimate without a total
Augie Fackler <durin42@gmail.com> [Thu, 16 Dec 2010 07:45:22 -0600] rev 13154
progress: don't compute estimate without a total Without this, computing an estimate crashes. Test included.
Tue, 14 Dec 2010 21:58:13 -0500 subrepo: use low-level git-diff-index for dirty()
Eric Eisner <ede@mit.edu> [Tue, 14 Dec 2010 21:58:13 -0500] rev 13153
subrepo: use low-level git-diff-index for dirty() Despite its name, git-diff-index compares a revision to the files in the working directory. This seems way less sketchy and more future proof than parsing human-readable git-status.
Tue, 14 Dec 2010 21:56:43 -0500 subrepo: defer determination of git's current branch
Eric Eisner <ede@mit.edu> [Tue, 14 Dec 2010 21:56:43 -0500] rev 13152
subrepo: defer determination of git's current branch
Tue, 14 Dec 2010 21:56:43 -0500 subrepo: incorporate tracking branches into gitbranchmap
Eric Eisner <ede@mit.edu> [Tue, 14 Dec 2010 21:56:43 -0500] rev 13151
subrepo: incorporate tracking branches into gitbranchmap
Tue, 14 Dec 2010 21:53:40 -0500 subrepo: use low-level git-for-each-ref command in branchmap
Eric Eisner <ede@mit.edu> [Tue, 14 Dec 2010 21:53:40 -0500] rev 13150
subrepo: use low-level git-for-each-ref command in branchmap This command's output doesn't change across versions, and it also disambiguates cases where there are slashes in local branch names.
Wed, 15 Dec 2010 10:55:14 -0600 progress using tests: disable time estimates to avoid flakiness
Augie Fackler <durin42@gmail.com> [Wed, 15 Dec 2010 10:55:14 -0600] rev 13149
progress using tests: disable time estimates to avoid flakiness
Wed, 15 Dec 2010 10:22:54 -0600 progress: include time estimate as part of the default progress format
Augie Fackler <durin42@gmail.com> [Wed, 15 Dec 2010 10:22:54 -0600] rev 13148
progress: include time estimate as part of the default progress format
Wed, 15 Dec 2010 10:22:06 -0600 progress: only show time estimate when progress format contains 'estimate'
Augie Fackler <durin42@gmail.com> [Wed, 15 Dec 2010 10:22:06 -0600] rev 13147
progress: only show time estimate when progress format contains 'estimate'
Wed, 15 Dec 2010 10:20:36 -0600 progress: fix adding format elements after the progress bar
Augie Fackler <durin42@gmail.com> [Wed, 15 Dec 2010 10:20:36 -0600] rev 13146
progress: fix adding format elements after the progress bar Prior to this change, format elements after the progress bar would show up in the wrong order.
Wed, 15 Dec 2010 11:20:32 -0600 test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com> [Wed, 15 Dec 2010 11:20:32 -0600] rev 13145
test-progress: test completion estimates and progress bar delay
Mon, 29 Nov 2010 16:34:10 +0100 subrepo: add progress bar support to archive
Martin Geisler <mg@aragost.com> [Mon, 29 Nov 2010 16:34:10 +0100] rev 13144
subrepo: add progress bar support to archive
Mon, 29 Nov 2010 16:17:05 +0100 archive: add support for progress extension
Martin Geisler <mg@aragost.com> [Mon, 29 Nov 2010 16:17:05 +0100] rev 13143
archive: add support for progress extension
Wed, 15 Dec 2010 16:35:09 +0100 progress: test setting progress.width
Martin Geisler <mg@aragost.com> [Wed, 15 Dec 2010 16:35:09 +0100] rev 13142
progress: test setting progress.width This also makes the tests readable in a 80-character terminal which is why I made the change to both tests.
Wed, 15 Dec 2010 16:29:46 +0100 tests: add filtercr.py helper for progress tests
Martin Geisler <mg@aragost.com> [Wed, 15 Dec 2010 16:29:46 +0100] rev 13141
tests: add filtercr.py helper for progress tests The two tests that used filtercr.py already used a slightly different version, which explains why test-convert-svn-move.t changed after switching to using $TESTDIR/filtercr.py.
Wed, 15 Dec 2010 09:52:20 +0100 test-archive: whitespace cleanup
Martin Geisler <mg@aragost.com> [Wed, 15 Dec 2010 09:52:20 +0100] rev 13140
test-archive: whitespace cleanup
Wed, 15 Dec 2010 09:35:32 +0100 progress: explain format strings to translators
Martin Geisler <mg@aragost.com> [Wed, 15 Dec 2010 09:35:32 +0100] rev 13139
progress: explain format strings to translators
Wed, 15 Dec 2010 10:50:19 +0100 subrepo: re-backout 2245fcd0e160, remove test
Mads Kiilerich <mads@kiilerich.com> [Wed, 15 Dec 2010 10:50:19 +0100] rev 13138
subrepo: re-backout 2245fcd0e160, remove test 7397a53219c9 re-removed the bad fix but not the test.
Tue, 14 Dec 2010 18:10:51 -0600 subrepo: re-backout 2245fcd0e160
Matt Mackall <mpm@selenic.com> [Tue, 14 Dec 2010 18:10:51 -0600] rev 13137
subrepo: re-backout 2245fcd0e160 This bug got introduced into default simultaneously with its backout, so future merges didn't eradicate it.
Tue, 14 Dec 2010 17:10:01 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 14 Dec 2010 17:10:01 -0600] rev 13136
merge with stable
Mon, 06 Dec 2010 22:04:10 -0600 tag: abort if not at a branch head (issue2552) stable
Kevin Bullock <kbullock@ringworld.org> [Mon, 06 Dec 2010 22:04:10 -0600] rev 13135
tag: abort if not at a branch head (issue2552) Since it's usually only desirable to make tag commits on top of branch heads, abort if the working dir parent is not a branch head. -f/--force may be passed to commit at a non-head anyway. Does not abort if working dir parent is a named branch head but not a topological head.
Tue, 07 Dec 2010 08:02:54 +0100 tag: fix uncommitted merge check and error message (issue2542) stable
Kevin Bullock <kbullock@ringworld.org> [Tue, 07 Dec 2010 08:02:54 +0100] rev 13134
tag: fix uncommitted merge check and error message (issue2542) This patch corrects the check for tagging on an uncommitted merge. We should never commit a new tag changeset on an uncommitted merge, whether or not --rev is specified. It also changes the error message from: abort: cannot partially commit a merge (do not specify files or patterns) to the much more accurate (and terse): abort: uncommitted merge Local tags are ok.
Mon, 13 Dec 2010 21:20:30 -0600 tag: don't check .hgtags status if --local passed stable
Kevin Bullock <kbullock@ringworld.org> [Mon, 13 Dec 2010 21:20:30 -0600] rev 13133
tag: don't check .hgtags status if --local passed Local tags don't create a commit, so we don't need to check the status of .hgtags.
Thu, 09 Dec 2010 17:33:40 -0600 progress: refactor for readability and show XXs instead of 0mXXs.
Augie Fackler <durin42@gmail.com> [Thu, 09 Dec 2010 17:33:40 -0600] rev 13132
progress: refactor for readability and show XXs instead of 0mXXs.
Tue, 26 Oct 2010 14:41:58 +0300 progress: Add estimated time remaining for long tasks
timeless <timeless@gmail.com> [Tue, 26 Oct 2010 14:41:58 +0300] rev 13131
progress: Add estimated time remaining for long tasks Output looks roughly like this: updating [======================> ] 1547/4842 0m13s output will either show h:m or m:s
Fri, 10 Dec 2010 16:56:12 -0600 progress: react more reasonably to nested progress topics
Augie Fackler <durin42@gmail.com> [Fri, 10 Dec 2010 16:56:12 -0600] rev 13130
progress: react more reasonably to nested progress topics Previously, we'd reset the entire progress bar state when a topic was completed, even if it wasn't the outermost progress topic. Now we print the state of the next progress topic on the stack if one is left rather than reset the progress bar.
Mon, 13 Dec 2010 12:19:26 -0600 Merge with stable
Steve Borho <steve@borho.org> [Mon, 13 Dec 2010 12:19:26 -0600] rev 13129
Merge with stable
Mon, 13 Dec 2010 11:51:01 -0600 util: work around behavior change in Python 2.7.1 stable
Steve Borho <steve@borho.org> [Mon, 13 Dec 2010 11:51:01 -0600] rev 13128
util: work around behavior change in Python 2.7.1
Mon, 13 Dec 2010 11:53:17 +0100 merge with stable
Martin Geisler <mg@lazybytes.net> [Mon, 13 Dec 2010 11:53:17 +0100] rev 13127
merge with stable
Mon, 13 Dec 2010 11:52:52 +0100 merge default heads in crew and main
Martin Geisler <mg@lazybytes.net> [Mon, 13 Dec 2010 11:52:52 +0100] rev 13126
merge default heads in crew and main
Mon, 13 Dec 2010 11:52:21 +0100 merge stable heads in crew and main stable
Martin Geisler <mg@lazybytes.net> [Mon, 13 Dec 2010 11:52:21 +0100] rev 13125
merge stable heads in crew and main
Mon, 22 Nov 2010 14:36:57 +0100 eol: improve help on whether EOLs are changed in working copy or repository stable
Erik Zielke <ez@aragost.com> [Mon, 22 Nov 2010 14:36:57 +0100] rev 13124
eol: improve help on whether EOLs are changed in working copy or repository Improved help to make it more clear for users which changes are only changes in the working copy and which changes that will go into the repository (on the following commit). Futhermore a note on when the rules will be applied to the working directory.
Mon, 13 Dec 2010 16:41:39 +0900 churn: ignore trailing and leading spaces (issue2546) stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 13 Dec 2010 16:41:39 +0900] rev 13123
churn: ignore trailing and leading spaces (issue2546)
Fri, 10 Dec 2010 23:05:48 +0100 merge with stable
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 10 Dec 2010 23:05:48 +0100] rev 13122
merge with stable
Tue, 07 Dec 2010 16:08:16 +0100 make_file: always return a fresh file handle that can be closed
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Tue, 07 Dec 2010 16:08:16 +0100] rev 13121
make_file: always return a fresh file handle that can be closed Currently, cmdutil.make_file() will return a freshly made file handle, except when given a pattern of '-'. If callers would want to close the handle, they would have to make sure that it's neither sys.stdin or sys.stdout. Instead, returning a duplicate of either of the two ensures that make_file() lives up to its name and creates a new file handle regardless of the input.
Fri, 10 Dec 2010 19:20:11 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 10 Dec 2010 19:20:11 -0600] rev 13120
merge with stable
Fri, 10 Dec 2010 19:18:02 -0600 hook: fix import path handling for repo=None stable
Matt Mackall <mpm@selenic.com> [Fri, 10 Dec 2010 19:18:02 -0600] rev 13119
hook: fix import path handling for repo=None
Tue, 07 Dec 2010 15:27:04 +0100 hook: assume relative path to hook is given from repo root stable
Alexander Solovyov <alexander@solovyov.net> [Tue, 07 Dec 2010 15:27:04 +0100] rev 13118
hook: assume relative path to hook is given from repo root
Fri, 10 Dec 2010 19:08:17 -0600 subrepo: backed out changeset 2245fcd0e160 stable
Matt Mackall <mpm@selenic.com> [Fri, 10 Dec 2010 19:08:17 -0600] rev 13117
subrepo: backed out changeset 2245fcd0e160
Fri, 10 Dec 2010 13:30:37 -0600 bundle progress: offer best-guess deterministic progress information
Augie Fackler <durin42@gmail.com> [Fri, 10 Dec 2010 13:30:37 -0600] rev 13116
bundle progress: offer best-guess deterministic progress information This uses the same strategy as progress for pulls, estimating manifests based on changeset count and estimating file count by files list in each changeset.
Fri, 10 Dec 2010 13:31:06 -0600 httpsendfile: record progress information during read()
Augie Fackler <durin42@gmail.com> [Fri, 10 Dec 2010 13:31:06 -0600] rev 13115
httpsendfile: record progress information during read() This allows us to provide deterministic progress information during transfer of bundle data over HTTP. This is required because we currently buffer the bundle data to local disk prior to transfer since wsgiref lacks chunked transfer-coding support.
Tue, 07 Dec 2010 15:50:28 +0100 templatekw.showdiffstat: use ctx.diff() instead of calling patch
Alexander Solovyov <alexander@solovyov.net> [Tue, 07 Dec 2010 15:50:28 +0100] rev 13114
templatekw.showdiffstat: use ctx.diff() instead of calling patch
Fri, 10 Dec 2010 16:10:14 +0100 localrepo: remove unneeded os.unlink call in wwrite
Adrian Buehlmann <adrian@cadifra.com> [Fri, 10 Dec 2010 16:10:14 +0100] rev 13113
localrepo: remove unneeded os.unlink call in wwrite The opener already unlinks the filename before 'w'riting, for both the symlink and the normal file case. It also now resets the flags for normal files on 'w'rite, which makes this os.unlink call completely redundant. For Windows, removing this extra unlink call helps to avoid tripping issue2524 (os.unlink followed by a write).
Fri, 10 Dec 2010 15:14:05 +0100 opener: always reset flags on 'w'rite
Adrian Buehlmann <adrian@cadifra.com> [Fri, 10 Dec 2010 15:14:05 +0100] rev 13112
opener: always reset flags on 'w'rite only the patcher needs to preserve flags on write
Thu, 09 Dec 2010 16:52:14 -0500 subrepo: silence git output when ui.quiet is set
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13111
subrepo: silence git output when ui.quiet is set
Thu, 09 Dec 2010 16:52:14 -0500 subrepo: show git command with --debug
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13110
subrepo: show git command with --debug Also removing the clutter of --no-pager, since none of these commands use the pager.
Thu, 09 Dec 2010 16:52:14 -0500 subrepo: speed up git push logic
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13109
subrepo: speed up git push logic In many common cases where the subrepo is up to date with the remote repo, hg push will only need to run one git-branch command to see that nothing needs to be pushed.
Thu, 09 Dec 2010 16:52:14 -0500 subrepo: use subprocess.Popen without the shell
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13108
subrepo: use subprocess.Popen without the shell As well as simplifying the code, this makes subprocess calls about 25% faster. Tested on a couple linux boxes. python -mtimeit -s'import subprocess' 'subprocess.Popen( "git version", shell=True, stdout=subprocess.PIPE).wait()' python -mtimeit -s'import subprocess' 'subprocess.Popen( ["git","version"], stdout=subprocess.PIPE).wait()'
Thu, 09 Dec 2010 16:52:14 -0500 subrepo: treat git error code 1 as success
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13107
subrepo: treat git error code 1 as success At least status, commit, merge-base, and diff all return 1 when not failing.
Thu, 09 Dec 2010 16:52:14 -0500 subrepo: gitsubrepo should inherit from abstractsubrepo
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13106
subrepo: gitsubrepo should inherit from abstractsubrepo
Fri, 10 Dec 2010 01:30:16 +0100 subrepo: initialize subrepo relative default paths relative to their root stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 10 Dec 2010 01:30:16 +0100] rev 13105
subrepo: initialize subrepo relative default paths relative to their root
Wed, 08 Dec 2010 13:12:12 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 08 Dec 2010 13:12:12 -0600] rev 13104
merge with stable
Tue, 07 Dec 2010 20:03:04 +1100 bookmarks: create undo.bookmarks using repo.opener instead of util.copyfile stable
Brodie Rao <brodie@bitheap.org> [Tue, 07 Dec 2010 20:03:04 +1100] rev 13103
bookmarks: create undo.bookmarks using repo.opener instead of util.copyfile This more closely matches how the other undo files are created, and we don't care about settings permissions or times on the file, which can fail if the user running hg doesn't own the file.
Tue, 07 Dec 2010 19:47:53 +1100 archival: don't set gzip filename header when there's no filename stable
Brodie Rao <brodie@bitheap.org> [Tue, 07 Dec 2010 19:47:53 +1100] rev 13102
archival: don't set gzip filename header when there's no filename This mainly affects hgweb, which can generate tar.gz archives without filenames. Without this change, the header would be set to ".gz", which can confuse Safari into extracting the file and renaming it to "gz" when "Open 'safe' files after downloading" is enabled. file(1) before: hg-crew-5e51254ad4d4.tar.gz: gzip compressed data, was ".gz", last modified: Thu Dec 2 11:46:20 2010, max compression after: hg-crew-5e51254ad4d4.tar.gz: gzip compressed data, last modified: Thu Dec 2 11:46:20 2010, max compression
Wed, 08 Dec 2010 11:18:26 -0600 build: don't delete precious version information on 'make clean'
Matt Mackall <mpm@selenic.com> [Wed, 08 Dec 2010 11:18:26 -0600] rev 13101
build: don't delete precious version information on 'make clean' setup.py rebuilds version information if it's locally available, regardless if file already exists.
Fri, 03 Dec 2010 11:40:30 +0900 patch: write .rej files without rewriting EOLs stable
Patrick Mezard <pmezard@gmail.com> [Fri, 03 Dec 2010 11:40:30 +0900] rev 13100
patch: write .rej files without rewriting EOLs Do not pass reject file content to patchfile.writelines() to: - Avoid line endings transformations - Avoid polluting overriding implementations with unrelated data. They should override write_rej() to deal or ignore reject files properly. Bug report, analysis and original patch and test by Shun-ichi GOTO <shunichi.goto@gmail.com>
Tue, 07 Dec 2010 20:03:05 +1100 record: move copystat() hack out of util.copyfile() and into record
Brodie Rao <brodie@bitheap.org> [Tue, 07 Dec 2010 20:03:05 +1100] rev 13099
record: move copystat() hack out of util.copyfile() and into record b2410ed2cbe9 updated copyfile to also copy over atimes and mtimes. That behavior is specifically to trick editors into thinking files that hg record has modified haven't changed. We don't really care about preserving times in the general case.
Tue, 07 Dec 2010 16:03:42 +0100 util: make atomicfiles closable
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Tue, 07 Dec 2010 16:03:42 +0100] rev 13098
util: make atomicfiles closable
Mon, 06 Dec 2010 21:17:27 -0500 subrepo: drop arguments unsupported by old git
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13097
subrepo: drop arguments unsupported by old git
Mon, 06 Dec 2010 21:17:27 -0500 subrepo: work around old git's remote naming scheme
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13096
subrepo: work around old git's remote naming scheme Older git versions use 'origin/master' Current git uses 'remotes/origin/master'
Mon, 06 Dec 2010 21:17:27 -0500 subrepo: use environment variable instead of git commit's --date
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13095
subrepo: use environment variable instead of git commit's --date Older git versions do not have a --date flag.
Mon, 06 Dec 2010 21:17:27 -0500 subrepo: parse git status's human-readable output
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13094
subrepo: parse git status's human-readable output Older git versions do not have a machine-readable output, but the default format has not changed over time.
Mon, 06 Dec 2010 21:17:27 -0500 subrepo: use subprocess's cwd instead of git's --work-tree
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13093
subrepo: use subprocess's cwd instead of git's --work-tree Some older git commands (e.g. git merge) do not properly recognize the --work-tree argument, so abstract that away from git.
Mon, 06 Dec 2010 21:17:27 -0500 test-subrepo-git.t: make gitroot pushable earlier
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13092
test-subrepo-git.t: make gitroot pushable earlier Older git versions get confused when the git repo becomes bare.
Mon, 06 Dec 2010 21:17:27 -0500 test-subrepo-git.t: silence git output
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13091
test-subrepo-git.t: silence git output Older git versions have different ideas of what output is considered quiet, so the tests can be more version-blind.
Mon, 06 Dec 2010 16:59:43 -0600 bdiff: Fix bogus NULL return
Matt Mackall <mpm@selenic.com> [Mon, 06 Dec 2010 16:59:43 -0600] rev 13090
bdiff: Fix bogus NULL return
Mon, 06 Dec 2010 16:42:48 -0600 bdiff: dynamically allocate hunks
Matt Mackall <mpm@selenic.com> [Mon, 06 Dec 2010 16:42:48 -0600] rev 13089
bdiff: dynamically allocate hunks Make the hunk list a singly-linked list rather than a large array.
(0) -10000 -3000 -1000 -120 +120 +1000 +3000 +10000 +30000 tip