Wed, 20 Feb 2013 11:31:31 -0800 worker: fix a race in SIGINT handling
Bryan O'Sullivan <bryano@fb.com> [Wed, 20 Feb 2013 11:31:31 -0800] rev 18708
worker: fix a race in SIGINT handling This is almost impossible to trigger due to the tiny time window involved.
Wed, 20 Feb 2013 11:31:27 -0800 worker: on error, exit similarly to the first failing worker
Bryan O'Sullivan <bryano@fb.com> [Wed, 20 Feb 2013 11:31:27 -0800] rev 18707
worker: on error, exit similarly to the first failing worker Previously, if a worker failed, we exited with status 1. We now exit with the correct exit code (killing ourselves if necessary).
Tue, 19 Feb 2013 13:35:39 -0600 merge with stable
Kevin Bullock <kbullock@ringworld.org> [Tue, 19 Feb 2013 13:35:39 -0600] rev 18706
merge with stable
Tue, 19 Feb 2013 13:35:25 -0600 merge with main
Kevin Bullock <kbullock@ringworld.org> [Tue, 19 Feb 2013 13:35:25 -0600] rev 18705
merge with main
Sat, 09 Feb 2013 21:07:42 +0000 largefiles: don't cache largefiles for pulled heads by default
Na'Tosha Bard <natosha@unity3d.com> [Sat, 09 Feb 2013 21:07:42 +0000] rev 18704
largefiles: don't cache largefiles for pulled heads by default After discussion, we've agreed that largefiles for newly pulled heads should not be cached by default. The use case for this is using largefiles repos with multiple remote servers (and therefore multiple remote largefiles caches), where users will be pulling from non-default locations on a regular basis. We think this use case will be significantly less common than the use case where all largefiles are stored on the same central server, so the default should be no caching. The old behavior can be obtained by passing the --cache-largefiles flag to pull.
Mon, 18 Feb 2013 13:21:27 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 18 Feb 2013 13:21:27 -0600] rev 18703
merge with stable
Mon, 18 Feb 2013 13:20:59 -0600 merge with crew
Matt Mackall <mpm@selenic.com> [Mon, 18 Feb 2013 13:20:59 -0600] rev 18702
merge with crew
Mon, 18 Feb 2013 00:04:28 +0900 bundle: treat branches created newly on the local correctly (issue3828) stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 18 Feb 2013 00:04:28 +0900] rev 18701
bundle: treat branches created newly on the local correctly (issue3828) Before this patch, "hg bundle --branch foo other" fails to create bundle file, if specified "foo" branch is created newly on the local repository. "hg bundle" uses "hg.addbranchrevs(repo, other, ...)" to look branch names up, even though other outgoing-like implementation uses "hg.addbranchrevs(repo, repo, ...)". In the former invocation, "other" repository recognizes such branches as unknown, so execution is aborted. This patch uses "hg.addbranchrevs(repo, repo, ..)" in "hg bundle" to bundle revisions on such branches correctly.
Fri, 15 Feb 2013 21:20:24 -0600 merge with stable
Kevin Bullock <kbullock@ringworld.org> [Fri, 15 Feb 2013 21:20:24 -0600] rev 18700
merge with stable
Fri, 15 Feb 2013 15:06:43 -0600 mergetools: refine vimdiff warning message stable
Kevin Bullock <kbullock@ringworld.org> [Fri, 15 Feb 2013 15:06:43 -0600] rev 18699
mergetools: refine vimdiff warning message We explicitly redraw before echoing the message so that it simply displays at the bottom of the window. Also simplifies the message printing by using 'echomsg' (which uses 'echohl' internally) and adds the names of the software involved for improved Googleability.
Fri, 15 Feb 2013 11:28:04 +0100 mergetools: vimdiff issue a warning explaining how to abort stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 15 Feb 2013 11:28:04 +0100] rev 18698
mergetools: vimdiff issue a warning explaining how to abort Adds a message displayed at each vimdiff invocation: merge conflict detected, type ":cq" to abort Vimdiff is very confusing for non-vim user (not to speak about vim user confused anyway. However it is very likely that vimdiff is picked as the mergetool of choice when using the default config: - vim is available on all UNIX system. - Its one of the rare non graphical merge tools.
Sun, 17 Feb 2013 14:34:53 -0600 httppeer: improve protocol check
Matt Mackall <mpm@selenic.com> [Sun, 17 Feb 2013 14:34:53 -0600] rev 18697
httppeer: improve protocol check Pre-0.6c hgweb used text/plain for protocol responses. This meant that a web server could serve a static file and confuse a client into generating a nasty traceback. Now we insist that text/plain protocol responses not include a Content-Length, which older hgweb didn't generate but will typically be produced for static files.
Sun, 17 Feb 2013 14:41:31 -0600 httppeer: avoid large dumps when we don't see an hgweb repo
Matt Mackall <mpm@selenic.com> [Sun, 17 Feb 2013 14:41:31 -0600] rev 18696
httppeer: avoid large dumps when we don't see an hgweb repo When we don't get an hgweb protocol response, we dump the response to the user for diagnostic purposes (it might be a cgitb message, for instance). But if we try to clone a bundle, we don't want to show the entire bundle in the error message. Also, we don't want fetch the full bundle multiple times during fallback. So we only fetch 1k here.
Fri, 15 Feb 2013 15:06:43 -0600 mergetools: refine vimdiff warning message
Kevin Bullock <kbullock@ringworld.org> [Fri, 15 Feb 2013 15:06:43 -0600] rev 18695
mergetools: refine vimdiff warning message We explicitly redraw before echoing the message so that it simply displays at the bottom of the window. Also simplifies the message printing by using 'echomsg' (which uses 'echohl' internally) and adds the names of the software involved for improved Googleability.
Fri, 15 Feb 2013 11:28:04 +0100 mergetools: vimdiff issue a warning explaining how to abort
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 15 Feb 2013 11:28:04 +0100] rev 18694
mergetools: vimdiff issue a warning explaining how to abort Adds a message displayed at each vimdiff invocation: merge conflict detected, type ":cq" to abort Vimdiff is very confusing for non-vim user (not to speak about vim user confused anyway. However it is very likely that vimdiff is picked as the mergetool of choice when using the default config: - vim is available on all UNIX system. - Its one of the rare non graphical merge tools.
Tue, 12 Feb 2013 22:15:31 +0100 dispatch: also a separate warning message on aliases with --config
Simon Heimberg <simohe@besonet.ch> [Tue, 12 Feb 2013 22:15:31 +0100] rev 18693
dispatch: also a separate warning message on aliases with --config As mentioned in bug 2043, --config is also not supported in an alias. So report this the same way as the other "early" options. Example with alias.broken = stat --config a.config=1 Before: $ hg broken abort: Option --config may not be abbreviated! After: $ hg broken error in definition for alias 'broken': --config may only be given on the command line
Thu, 14 Feb 2013 13:56:02 -0600 extensions: remove erroneous comment
Kevin Bullock <kbullock@ringworld.org> [Thu, 14 Feb 2013 13:56:02 -0600] rev 18692
extensions: remove erroneous comment We actually -do- use the 'ui' argument to print a debug statement.
Wed, 13 Feb 2013 12:51:30 -0800 blackbox: do not translate the log messages
Durham Goode <durham@fb.com> [Wed, 13 Feb 2013 12:51:30 -0800] rev 18691
blackbox: do not translate the log messages User 'timeless' in irc mentioned that having the blackbox be translated would result in logs that: - may be mixed language, if multiple users use the same repo - are not google searchable (since searching for english gives more results) - might not be readable by an admin if the employee is using hg in his native language And therefore we should log everything in english.
Tue, 12 Feb 2013 11:36:21 -0600 scmutil: split platform-specific bits into their own modules
Kevin Bullock <kbullock@ringworld.org> [Tue, 12 Feb 2013 11:36:21 -0600] rev 18690
scmutil: split platform-specific bits into their own modules This parallels what's done for the util module, which imports either mercurial.posix or mercurial.windows as 'platform' and then slurps the appropriate functions into its own namespace.
Tue, 12 Feb 2013 16:36:44 +0000 backout: call cmdutil.commit directly instead of commands.commit
Kevin Bullock <kbullock@ringworld.org> [Tue, 12 Feb 2013 16:36:44 +0000] rev 18689
backout: call cmdutil.commit directly instead of commands.commit This cleans up the messiness of having one command call another, and makes the backout command robust against changes to the commit command.
Tue, 12 Feb 2013 16:32:14 +0000 commit: factor out status printing into a helper function
Kevin Bullock <kbullock@ringworld.org> [Tue, 12 Feb 2013 16:32:14 +0000] rev 18688
commit: factor out status printing into a helper function We create a new function commitstatus() in cmdutil that handles printing the status message(s) after a commit. This will allow other commit-like commands to use it, and in particular is step 2 towards removing backout's call to commands.commit.
Tue, 12 Feb 2013 16:05:00 +0000 backout: remove unnecessary dict copy
Kevin Bullock <kbullock@ringworld.org> [Tue, 12 Feb 2013 16:05:00 +0000] rev 18687
backout: remove unnecessary dict copy This is step 1 to remove backout's call to commands.commit. We don't use the options again anywhere below except for backout's own purposes, specifically choosing a merge tool, so we just write the commit options in directly.
Tue, 12 Feb 2013 15:47:30 +0000 backout: remove unnecessary frobbing of addremove option
Kevin Bullock <kbullock@ringworld.org> [Tue, 12 Feb 2013 15:47:30 +0000] rev 18686
backout: remove unnecessary frobbing of addremove option There's no way for addremove to show up in backout's opts dictionary. It was being set manually because cmdutil.commit expected it to be there (and would throw an exception if it wasn't). This was fixed waaaaaaay back in: changeset: 5829:784073457a0f user: Kirill Smelkov <kirr@mns.spb.ru> date: Thu Jan 10 12:07:18 2008 +0300 summary: cmdutil.commit: extract 'addremove' from opts carefully
Tue, 12 Feb 2013 15:07:17 +0000 backout: use cmdutil.revert directly instead of commands.revert
Kevin Bullock <kbullock@ringworld.org> [Tue, 12 Feb 2013 15:07:17 +0000] rev 18685
backout: use cmdutil.revert directly instead of commands.revert Before this change, backout would explicitly set the options it passed to commands.revert in order to fall thru most of its logic and call cmdutil.revert. This change makes it clearer what backup is trying to accomplish and makes it robust against changes to the revert command.
Wed, 13 Feb 2013 15:09:43 -0600 merge with stable
Kevin Bullock <kbullock@ringworld.org> [Wed, 13 Feb 2013 15:09:43 -0600] rev 18684
merge with stable
Wed, 13 Feb 2013 21:51:47 +0100 check-code: warn about line glob match with no glob character (?*/)
Simon Heimberg <simohe@besonet.ch> [Wed, 13 Feb 2013 21:51:47 +0100] rev 18683
check-code: warn about line glob match with no glob character (?*/)
Wed, 13 Feb 2013 22:05:30 +0100 tests: remove glob from output lines containing no glob character
Simon Heimberg <simohe@besonet.ch> [Wed, 13 Feb 2013 22:05:30 +0100] rev 18682
tests: remove glob from output lines containing no glob character
Mon, 15 Oct 2012 23:28:45 +0200 tests: inform on Windows about unnecessary glob lines
Simon Heimberg <simohe@besonet.ch> [Mon, 15 Oct 2012 23:28:45 +0200] rev 18681
tests: inform on Windows about unnecessary glob lines When glob lines directly match on windows, "/" (and not "\") was output in the path on the line. No glob matching is necessary in this case. The test output will look like this (when 5 tests have passed and no 4 has an unnecessary glob): ... Info, unnecessary glob: info about some/thing (glob) ..
Wed, 13 Feb 2013 21:58:52 +0100 tests: quickly check if the glob line already matches the output
Simon Heimberg <simohe@besonet.ch> [Wed, 13 Feb 2013 21:58:52 +0100] rev 18680
tests: quickly check if the glob line already matches the output This happens when a path with "/" as only glob char is matched on a non windows platform. (Currently one third of all glob matches.) The slowdown on windows and the speedup on other os are neglectable.
Wed, 13 Feb 2013 12:35:57 +0100 tests: append glob to filename output when required (windows) stable
Simon Heimberg <simohe@besonet.ch> [Wed, 13 Feb 2013 12:35:57 +0100] rev 18679
tests: append glob to filename output when required (windows) This lines were introduced in cd403d6d96ef and made the test fail on windows.
Wed, 13 Feb 2013 12:20:10 -0800 util: make ensuredirs safer against races
Bryan O'Sullivan <bryano@fb.com> [Wed, 13 Feb 2013 12:20:10 -0800] rev 18678
util: make ensuredirs safer against races
Wed, 13 Feb 2013 11:07:01 -0800 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com> [Wed, 13 Feb 2013 11:07:01 -0800] rev 18677
blackbox: only show new heads on incoming The blackbox was logging every head after every incoming group. Now we only log the heads that have changed. Added a test. Moved the hooks test to the bottom of the file since the hooks interfer with the tests after it.
Wed, 13 Feb 2013 10:54:52 -0800 blackbox: fix copyright
Bryan O'Sullivan <bryano@fb.com> [Wed, 13 Feb 2013 10:54:52 -0800] rev 18676
blackbox: fix copyright
Tue, 12 Feb 2013 16:02:35 -0800 blackbox: fix a failing pyflakes test
Bryan O'Sullivan <bryano@fb.com> [Tue, 12 Feb 2013 16:02:35 -0800] rev 18675
blackbox: fix a failing pyflakes test
Sat, 09 Feb 2013 13:35:30 -0800 blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com> [Sat, 09 Feb 2013 13:35:30 -0800] rev 18674
blackbox: tests for the blackbox extension A few tests to cover the blackbox extension. Covers commands, hooks, and incoming changes.
Sat, 09 Feb 2013 09:09:46 -0800 blackbox: adds a 'blackbox' command for viewing recent logs
Durham Goode <durham@fb.com> [Sat, 09 Feb 2013 09:09:46 -0800] rev 18673
blackbox: adds a 'blackbox' command for viewing recent logs Adds a 'hg blackbox' command for viewing the latest entries in the blackbox log. By default it shows the last 10 entries, but -l allows the user to specify.
Sat, 09 Feb 2013 09:04:48 -0800 blackbox: log incoming changes via ui.log()
Durham Goode <durham@fb.com> [Sat, 09 Feb 2013 09:04:48 -0800] rev 18672
blackbox: log incoming changes via ui.log() Logs incoming changes to a repo to ui.log(). Includes the number of changes and the hashes of the heads after the new changes. Example log line: 2013/02/09 08:35:19 durham> 1 incoming changes - new heads: cb9a9f314b8b Currently the blackbox logs the unix user that is performing the push/pull. It would be nice to log the http authorized user as well so it works with hgweb, but that's outside the scope of this commit.
Sat, 09 Feb 2013 09:04:32 -0800 blackbox: logs python and extension hooks via ui.log()
Durham Goode <durham@fb.com> [Sat, 09 Feb 2013 09:04:32 -0800] rev 18671
blackbox: logs python and extension hooks via ui.log() Logs python and extension hooks to ui.log() for viewing in the blackbox. Example log lines: 2013/02/09 08:35:19 durham> pythonhook-preupdate: hgext.eol.preupdate finished in 0.01 seconds 2013/02/09 08:35:19 durham> exthook-update: echo hooked finished in 0.02 seconds
Sat, 09 Feb 2013 09:04:14 -0800 blackbox: log the commands that are run
Durham Goode <durham@fb.com> [Sat, 09 Feb 2013 09:04:14 -0800] rev 18670
blackbox: log the commands that are run Uses ui.log to log which commands are run, their exit code, the time taken, and any unhandled exceptions thrown. Example log lines: 2013/02/09 08:35:19 durham> add foo 2013/02/09 08:35:19 durham> add exited 0 after 0.02 seconds Updates the progress tests because they use a mocked time.time() which these changes affect.
Tue, 12 Feb 2013 14:08:33 -0800 blackbox: adds a blackbox extension
Durham Goode <durham@fb.com> [Tue, 12 Feb 2013 14:08:33 -0800] rev 18669
blackbox: adds a blackbox extension Adds a blackbox extension that listens to ui.log() and writes the messages to .hg/blackbox.log. Future commits will use ui.log() to log commands, unhandled exceptions, incoming changes, and hooks. The extension defaults to logging everything, but can be configured via blackbox.track to only log certain events. Log lines are of the format: "date time user> message" Example log line: 2013/02/09 08:35:19 durham> 1 incoming changes - new heads: d84ced58aaa
Mon, 11 Feb 2013 16:15:12 -0800 scmutil: create directories in a race-safe way during update
Bryan O'Sullivan <bryano@fb.com> [Mon, 11 Feb 2013 16:15:12 -0800] rev 18668
scmutil: create directories in a race-safe way during update With the new parallel update code, it is possible for multiple workers to try to create a hierarchy of directories at the same time. This is hard to trigger in general, but most likely during initial checkout. To deal with these races, we introduce a new ensuredirs function whose contract is to ensure that a directory hierarchy exists - it will ignore a failure that implies that the desired directory already exists.
Mon, 11 Feb 2013 14:50:54 -0800 Merge
Bryan O'Sullivan <bryano@fb.com> [Mon, 11 Feb 2013 14:50:54 -0800] rev 18667
Merge
Sat, 09 Feb 2013 19:02:45 +0200 test-atomictempfile: convert to unit test
Idan Kamara <idankk86@gmail.com> [Sat, 09 Feb 2013 19:02:45 +0200] rev 18666
test-atomictempfile: convert to unit test
Sat, 09 Feb 2013 19:13:39 +0200 tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com> [Sat, 09 Feb 2013 19:13:39 +0200] rev 18665
tests: add a test runner utility that prints nothing when all tests pass This will be used to run tests through run-tests, which will expect no output for a unit test that passes successfully. The motivation for using unit tests instead of the current Python tests is that they don't require an output file for comparison and that they're easier to write because of the available tools from unittest (setup, asserts).
Sun, 10 Feb 2013 13:14:31 +0100 hgweb: consistent author name width
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sun, 10 Feb 2013 13:14:31 +0100] rev 18664
hgweb: consistent author name width Paper & coal use a sligtly shorter name length of 12em in the log view than gitweb's 15em. Names too long for 12em is not entirely unheard of, and hence increasing the length is appropriate; hgweb should remain usable on 1024x768.
Sun, 10 Feb 2013 12:23:39 -0800 dirstate: fix generator/list error when using python 2.7
Durham Goode <durham@fb.com> [Sun, 10 Feb 2013 12:23:39 -0800] rev 18663
dirstate: fix generator/list error when using python 2.7 util.statfiles returns a generator on python 2.7 with c extensions disabled. This caused util.statfiles(...) [0] to break in tests. Since we're only stat'ing one file, I just changed it to call lstat directly.
Mon, 11 Feb 2013 16:21:48 +0100 mq: comply with filtering when injecting fake tags (issue3812)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 11 Feb 2013 16:21:48 +0100] rev 18662
mq: comply with filtering when injecting fake tags (issue3812) mq was injecting fake tags whenever the revisions were accessible to the filtering level. This issue impacts hgweb since it's common to have "secret" mq patches. As secret changesets are filtered by hgweb, the tags computation could break.
Fri, 08 Feb 2013 05:36:08 -0800 commit: factor out post-commit cleanup into workingctx
David Schleimer <dschleimer@fb.com> [Fri, 08 Feb 2013 05:36:08 -0800] rev 18661
commit: factor out post-commit cleanup into workingctx This pulls some of the logic for the cleanup that needs to happen after a commit has been made otu of localrepo.commit and into workingctx. This is part of a larger refactoring effort that will eventually allow us to perform some types of merges in-memory.
Fri, 08 Feb 2013 05:36:08 -0800 localrepo: use workingctx for validation in commit
David Schleimer <dschleimer@fb.com> [Fri, 08 Feb 2013 05:36:08 -0800] rev 18660
localrepo: use workingctx for validation in commit This changes localrepo.commit to use the workingctx it creates form the munged output of localrepo.status while running some precommit validation. Specifically, it uses functions that were already present on the workingctx. I believe this is a net readabilty improvement, and that this makes these lines consistent with the refactoring in a subsequent patch that pulls some of the validation logic into workingctx so that it can be reused elsewhere.
Fri, 08 Feb 2013 05:36:07 -0800 localrepo: create context used for actual commit earlier
David Schleimer <dschleimer@fb.com> [Fri, 08 Feb 2013 05:36:07 -0800] rev 18659
localrepo: create context used for actual commit earlier localrepo.commit creates a workingctx, calls self.status, does some munging on the changes status returns, does some validation on those changes, and then creates a new workingctx from the changes. This moves the creation of the new workginctx ahead of some validation, with the intention of refactoring some of that validation logic into the workingctx, so that it can be reused elsewhere.
Mon, 11 Feb 2013 16:57:46 +0100 merge with crew-stable
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 11 Feb 2013 16:57:46 +0100] rev 18658
merge with crew-stable
Sat, 09 Feb 2013 23:28:42 +0000 debugobsolete: improve command help stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 09 Feb 2013 23:28:42 +0000] rev 18657
debugobsolete: improve command help The behavior without argument was not documented.
Sun, 10 Feb 2013 23:01:12 +0000 import: don't rollback on failed import --exact (issue3616)
Kevin Bullock <kbullock@ringworld.org> [Sun, 10 Feb 2013 23:01:12 +0000] rev 18656
import: don't rollback on failed import --exact (issue3616) The checkexact() helper function was calling repo.rollback() from inside an open transaction. In addition to being insane, this is unnecessary because import will release the transaction on an exception. It turns out that this has been broken since the feature was first introduced, first released in v1.0: changeset: 4263:47ba52121433 user: Brendan Cully <brendan@kublai.com> date: Thu Mar 22 10:44:59 2007 -0700 files: mercurial/commands.py mercurial/patch.py description: Add import --exact. When this option is set, import will apply the patch (which must be generated by export) to the parents specified in the patch, and check that the node produced by the patch matches the node ID in the patch.
Sun, 10 Feb 2013 16:22:32 -0800 Merge
Bryan O'Sullivan <bryano@fb.com> [Sun, 10 Feb 2013 16:22:32 -0800] rev 18655
Merge
Sun, 10 Feb 2013 16:21:30 -0800 Merge
Bryan O'Sullivan <bryano@fb.com> [Sun, 10 Feb 2013 16:21:30 -0800] rev 18654
Merge
Mon, 11 Feb 2013 01:21:24 +0100 merge crew and main
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Mon, 11 Feb 2013 01:21:24 +0100] rev 18653
merge crew and main
(0) -10000 -3000 -1000 -300 -100 -56 +56 +100 +300 +1000 +3000 +10000 +30000 tip