Sun, 10 Mar 2013 16:42:23 +0100 hgk: in popups, replace labels with window titles
Andrew Shadura <bugzilla@tut.by> [Sun, 10 Mar 2013 16:42:23 +0100] rev 18806
hgk: in popups, replace labels with window titles Replace labels with window titles. That also requires to change grid placement manager settings to compensate padding which used to be applied to now non-existent labels.
Sun, 10 Mar 2013 16:42:16 +0100 hgk: update backgroud colour when Ttk is available
Andrew Shadura <bugzilla@tut.by> [Sun, 10 Mar 2013 16:42:16 +0100] rev 18805
hgk: update backgroud colour when Ttk is available Ttk doesn't automatically set up Tk colour palette. Because of that, Ttk controls look differently when used together with old Tk controls. When we use Ttk controls, we first query if we have any setting for the client background, and if we do, we update Tk palette as well.
Tue, 16 Oct 2012 15:31:56 +0200 hgk: fix pop-up windows
Andrew Shadura <bugzilla@tut.by> [Tue, 16 Oct 2012 15:31:56 +0200] rev 18804
hgk: fix pop-up windows Create pop-up windows properly so they go to the floating layer in tiling window managers.
Sun, 10 Mar 2013 16:12:26 +0100 hgk: don't use fixed format for dates
Andrew Shadura <bugzilla@tut.by> [Sun, 10 Mar 2013 16:12:26 +0100] rev 18803
hgk: don't use fixed format for dates Don't pass -format with a date format string, use default instead so users can use their own preferences.
Sun, 10 Mar 2013 16:07:57 +0100 hgk: reformat changsets fields
Andrew Shadura <bugzilla@tut.by> [Sun, 10 Mar 2013 16:07:57 +0100] rev 18802
hgk: reformat changsets fields Rename Author to User. Rename Revision to Changeset. Put Date on its own line.
Tue, 16 Oct 2012 15:07:41 +0200 hgk: drop committer field from the UI
Andrew Shadura <bugzilla@tut.by> [Tue, 16 Oct 2012 15:07:41 +0200] rev 18801
hgk: drop committer field from the UI Remove Committer field, it doesn't make sense in Hg.
Thu, 21 Mar 2013 22:42:51 -0700 test-completion: test completion of tags
Bryan O'Sullivan <bryano@fb.com> [Thu, 21 Mar 2013 22:42:51 -0700] rev 18800
test-completion: test completion of tags
Thu, 21 Mar 2013 22:29:31 -0700 debugpathcomplete: satisfy the code checker
Bryan O'Sullivan <bryano@fb.com> [Thu, 21 Mar 2013 22:29:31 -0700] rev 18799
debugpathcomplete: satisfy the code checker
Thu, 21 Mar 2013 22:26:01 -0700 tests: test debugpathcomplete and debuglabelcomplete
Bryan O'Sullivan <bryano@fb.com> [Thu, 21 Mar 2013 22:26:01 -0700] rev 18798
tests: test debugpathcomplete and debuglabelcomplete
Thu, 21 Mar 2013 22:22:21 -0700 tests: rename test-debugcomplete.t to test-completion.t
Bryan O'Sullivan <bryano@fb.com> [Thu, 21 Mar 2013 22:22:21 -0700] rev 18797
tests: rename test-debugcomplete.t to test-completion.t
Thu, 21 Mar 2013 22:10:54 -0700 pathcomplete: complete directories more conservatively
Bryan O'Sullivan <bryano@fb.com> [Thu, 21 Mar 2013 22:10:54 -0700] rev 18796
pathcomplete: complete directories more conservatively Suppose we want to perform a single-level completion (i.e. without --full) of "fi" in a repo containing "fee", "fie/dead", "fie/live", and "foe". If we give back "fie/" as the only answer, the shell will consider the completion to be unambiguous, and will append a space after the completion. We can't complete "fie/live" or "fie/dead" without first backspacing over that space. We used to thus create two fake names, "fie/a" and "fie/b", to force the shell to consider the completion to be ambiguous. It would then stop at "fie/" without appending a space, allowing us to hit tab again to complete "fie/live" or "fie/dead". The change here arises from realising that we only need to force the shell to consider a completion as ambiguous if we have exactly one directory and zero files as possible completions. This prevents spurious names from showing up as possible completions when they don't need to be invented in the first place.
Thu, 21 Mar 2013 21:20:40 -0700 sadclown: another test failure eluded me
Bryan O'Sullivan <bryano@fb.com> [Thu, 21 Mar 2013 21:20:40 -0700] rev 18795
sadclown: another test failure eluded me
Thu, 21 Mar 2013 21:07:22 -0700 bash_completion: recognize normal command abbreviations
Bryan O'Sullivan <bryano@fb.com> [Thu, 21 Mar 2013 21:07:22 -0700] rev 18794
bash_completion: recognize normal command abbreviations In many common cases, this eliminates a call to "hg help" to get a complete command name, thus improving responsiveness.
Thu, 21 Mar 2013 16:31:29 -0700 completion: selectively use debugpathcomplete in bash_completion
Bryan O'Sullivan <bryano@fb.com> [Thu, 21 Mar 2013 16:31:29 -0700] rev 18793
completion: selectively use debugpathcomplete in bash_completion The current bash_completion code can be very slow in a large working directory. It always uses "hg status" to generate possibly matching files, which checks the status of every file. We often don't care about status when completing, so that cost is very high. As the new debugpathcomplete command does not check the status of files, it offers much better performance for commands that only care about completing names.
Thu, 21 Mar 2013 16:31:28 -0700 completion: add a debugpathcomplete command
Bryan O'Sullivan <bryano@fb.com> [Thu, 21 Mar 2013 16:31:28 -0700] rev 18792
completion: add a debugpathcomplete command The bash_completion code uses "hg status" to generate a list of possible completions for commands that operate on files in the working directory. In a large working directory, this can result in a single tab-completion being very slow (several seconds) as a result of checking the status of every file, even when there is no need to check status or no possible matches. The new debugpathcomplete command gains performance in a few simple ways: * Allow completion to operate on just a single directory. When used to complete the right commands, this considerably reduces the number of completions returned, at no loss in functionality. * Never check the status of files. For completions that really must know if a file is modified, it is faster to use status: hg status -nm 'glob:myprefix**' Performance: Here are the commands used by bash_completion to complete, run in the root of the mozilla-central working dir (~77,000 files) and another repo (~165,000 files): All "normal state" files (used by e.g. remove, revert): mozilla other status -nmcd 'glob:**' 1.77 4.10 sec debugpathcomplete -f -n 0.53 1.26 debugpathcomplete -n 0.17 0.41 ("-f" means "complete full paths", rather than the current directory) Tracked files matching "a": mozilla other status -nmcd 'glob:a**' 0.26 0.47 debugpathcomplete -f -n a 0.10 0.24 debugpathcomplete -n a 0.10 0.22 We should be able to further improve completion performance once the critbit work lands. Right now, our performance is limited by the need to iterate over all keys in the dirstate.
Thu, 21 Mar 2013 11:35:34 -0700 tests: add new command to test-debugcomplete
Bryan O'Sullivan <bryano@fb.com> [Thu, 21 Mar 2013 11:35:34 -0700] rev 18791
tests: add new command to test-debugcomplete
Thu, 21 Mar 2013 10:51:18 -0700 completion: add a debuglabelcomplete command
Bryan O'Sullivan <bryano@fb.com> [Thu, 21 Mar 2013 10:51:18 -0700] rev 18790
completion: add a debuglabelcomplete command When completing a "label" (a symbolic name for a commit), the bash_completion script currently has to invoke hg three times. For a large repository, the cost of starting up and loading all the necessary context over and over is very high. For instance, in mozilla-central: time (export HGPLAIN=1; hg tags -q; hg bookmarks -q; hg branches) >/dev/null 0.446 sec Compare with the debuglabelcomplete command that this commit adds: time hg debuglabelcomplete >/dev/null 0.148 sec This greatly helps responsiveness.
Thu, 21 Mar 2013 09:13:16 -0700 bash_completion: nuke a duplicated function
Bryan O'Sullivan <bryano@fb.com> [Thu, 21 Mar 2013 09:13:16 -0700] rev 18789
bash_completion: nuke a duplicated function
Thu, 21 Mar 2013 08:56:21 +0100 run-tests: only sort files when not given as argument
Simon Heimberg <simohe@besonet.ch> [Thu, 21 Mar 2013 08:56:21 +0100] rev 18788
run-tests: only sort files when not given as argument os.listdir returns the files in any order. This has to be sorted. But when given as argument, the user should be allowed to set any order. This restores the behaviour before 9848a94e2a.
Wed, 20 Mar 2013 13:40:06 -0700 blackbox: use util.getuser for portability
Bryan O'Sullivan <bryano@fb.com> [Wed, 20 Mar 2013 13:40:06 -0700] rev 18787
blackbox: use util.getuser for portability On Windows, our implementation is more robust than Python's version.
Wed, 20 Mar 2013 13:40:05 -0700 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com> [Wed, 20 Mar 2013 13:40:05 -0700] rev 18786
blackbox: prevent failed I/O from causing hg to abort Instead, we simply print a warning message if opening the blackbox log file fails, or if writing to it fails.
Tue, 19 Mar 2013 16:19:45 -0700 merge with crew-stable
Bryan O'Sullivan <bryano@fb.com> [Tue, 19 Mar 2013 16:19:45 -0700] rev 18785
merge with crew-stable
Tue, 19 Mar 2013 13:49:34 -0700 largefiles: don't query the dirstate for key None
Siddharth Agarwal <sid0@fb.com> [Tue, 19 Mar 2013 13:49:34 -0700] rev 18784
largefiles: don't query the dirstate for key None lfutil.splitstandin(f) can be None, and we query the dirstate for that without checking if it is. This will cause problems with the upcoming move to critbit- based dicts, since they only support strings as keys.
Mon, 18 Mar 2013 19:59:05 -0500 merge
Kevin Bullock <kbullock@ringworld.org> [Mon, 18 Mar 2013 19:59:05 -0500] rev 18783
merge
Sat, 16 Mar 2013 22:48:22 -0500 bookmarks: moving the active bookmark deactivates it
Kevin Bullock <kbullock@ringworld.org> [Sat, 16 Mar 2013 22:48:22 -0500] rev 18782
bookmarks: moving the active bookmark deactivates it After this change, moving the active bookmark somewhere other than the current changeset (i.e., with --rev) deactivates it. Previously it would remain in .hg/bookmarks.current, which seems like a bug.
Sat, 16 Mar 2013 21:36:44 -0500 bookmarks: allow (re-)activating a bookmark on the current changeset
Kevin Bullock <kbullock@ringworld.org> [Sat, 16 Mar 2013 21:36:44 -0500] rev 18781
bookmarks: allow (re-)activating a bookmark on the current changeset Allow a bookmark that points to the current changeset to be made the active bookmark without requiring --force. Previously, this would've aborted with: abort: bookmark 'Z' already exists (use -f to force)
Mon, 18 Mar 2013 16:37:20 -0500 applyupdates: assign variable before we try to use it (issue3855)
Kevin Bullock <kbullock@ringworld.org> [Mon, 18 Mar 2013 16:37:20 -0500] rev 18780
applyupdates: assign variable before we try to use it (issue3855) The variable 'fd' was getting used with a value left over from a prior iteration, causing a KeyError: '.hgsubstate'.
Mon, 18 Mar 2013 16:04:10 -0500 revset: don't abort when regex to tag() matches nothing (issue3850)
Kevin Bullock <kbullock@ringworld.org> [Mon, 18 Mar 2013 16:04:10 -0500] rev 18779
revset: don't abort when regex to tag() matches nothing (issue3850) This makes the tag("re:...") revset consistent with branch("re:...").
Fri, 15 Mar 2013 11:23:29 -0700 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com> [Fri, 15 Mar 2013 11:23:29 -0700] rev 18778
rebase: fix --collapse when a file was added then removed When a series of commits first adds a file and then removes it, hg rebase --collapse prompts whether to keep the file or delete it. This is due to it reusing the branch merge code. In a noninteractive terminal it defaults to keeping the file, which results in a collapsed commit that is has a file that should be deleted. This bug resulted in developers accidentally commiting unintentional changes to our repo twice today, so it's fairly important to get fixed. This change allows rebase --collapse to tell the merge code to accept the latest version every time without prompting. Adds a test as well.
Sun, 17 Mar 2013 23:27:14 -0500 Merge
Augie Fackler <raf@durin42.com> [Sun, 17 Mar 2013 23:27:14 -0500] rev 18777
Merge
Mon, 11 Mar 2013 12:07:33 -0700 grep: use re2 if possible
Bryan O'Sullivan <bryano@fb.com> [Mon, 11 Mar 2013 12:07:33 -0700] rev 18776
grep: use re2 if possible Since re2 is enormously faster than Python's re module, this should help performance, ceteris paribus. grep currently has other huge performance problems that mask any gain :-(
Mon, 11 Mar 2013 12:06:13 -0700 util: add flag support to compilere
Bryan O'Sullivan <bryano@fb.com> [Mon, 11 Mar 2013 12:06:13 -0700] rev 18775
util: add flag support to compilere
Sat, 16 Mar 2013 21:21:54 -0500 bookmarks: fix test broken by 0bba1ff2ac7b
Kevin Bullock <kbullock@ringworld.org> [Sat, 16 Mar 2013 21:21:54 -0500] rev 18774
bookmarks: fix test broken by 0bba1ff2ac7b The added test reflects an error in printing the origin node of the bookmark that I fixed before committing, but I forgot to update the test (whoops).
Fri, 15 Mar 2013 23:39:07 -0500 bookmarks: allow moving a bookmark forward to a descendant
Kevin Bullock <kbullock@ringworld.org> [Fri, 15 Mar 2013 23:39:07 -0500] rev 18773
bookmarks: allow moving a bookmark forward to a descendant Allow 'hg bookmark MARK', with an existing bookmark MARK, to move the bookmark forward to the current or specified revision, if the target revision is a descendant of the revision the bookmark currently points to. Prints a status message including the revision the bookmark was formerly at: $ hg bookmark Z moving bookmark 'Z' forward from 663762316562 Test coverage is added.
Tue, 26 Feb 2013 21:20:35 +0100 hgweb: change manifest archive links to only archive the current directory
Angel Ezquerra <angel.ezquerra@gmail.com> [Tue, 26 Feb 2013 21:20:35 +0100] rev 18772
hgweb: change manifest archive links to only archive the current directory When the web server shows the manifest for a single, non top directory, append the path to the directory to the archive links. This makes the web server generate archive files that only include the current directory (and its subdirectories). Note that archive links in other pages (e.g. changeset) or at the top of the manifest are unchanged. Directory archive links have an extra "/" at the end which does not impact the result of the archive operation. Keeping it there made the implementation of this feature simpler.
Sun, 10 Feb 2013 11:52:05 +0100 hgweb: teach archive how to download a specific directory or file
Angel Ezquerra <angel.ezquerra@gmail.com> [Sun, 10 Feb 2013 11:52:05 +0100] rev 18771
hgweb: teach archive how to download a specific directory or file The archive web command now takes into account the "file" request entry, if one is provided. The provided "file" is processed as a "path" corresponding to a directory or file that will be downloaded. With this change hgweb can to process requests such as: http://mercurial.selenic.com/hg/archive/tip.zip/mercurial/templates This will download all files on the mercurial/templates directory as a zip file. It is not possible to specify file patterns ('glob', 'relglob', 'path', 'relpath', 're', 'relre' nor 'set'). The server will reject those with a 403 HTTP error response. Note that this is a first step to add support for downloading directories from the web interface. A following patch will modify the archiveentry map entry on the different templates so that it adds the current folder path to the archive links.
Wed, 06 Feb 2013 10:06:45 +0100 test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com> [Wed, 06 Feb 2013 10:06:45 +0100] rev 18770
test-archive: gracefully handle HTTPErrors on get-with-headers This avoids pritting out a traceback when a get-with-headers call causes hgweb to respond with an HTTPError code.
Thu, 14 Mar 2013 16:56:10 -0700 bash_completion: tell an editor what type of file this is
Bryan O'Sullivan <bryano@fb.com> [Thu, 14 Mar 2013 16:56:10 -0700] rev 18769
bash_completion: tell an editor what type of file this is
Thu, 14 Mar 2013 16:50:53 -0700 bash_completion: allow remove to complete normal files
Bryan O'Sullivan <bryano@fb.com> [Thu, 14 Mar 2013 16:50:53 -0700] rev 18768
bash_completion: allow remove to complete normal files Previously, we only completed files that had already been manually deleted. That behaviour made no sense. We now complete unmodified, modified, and deleted files.
Thu, 14 Mar 2013 16:49:02 -0700 bash_completion: match more narrowly
Bryan O'Sullivan <bryano@fb.com> [Thu, 14 Mar 2013 16:49:02 -0700] rev 18767
bash_completion: match more narrowly This greatly helps completion performance for most commands that deal with files. In a working dir with 150,000 files, where we want to complete the name of a modified file under a path beginning with "a", from the root of the working dir: (old) hg status -nm . 1.7 sec (new) hg status -nm "glob:a**" 0.3 Even "hg add" becomes a little faster, in spite of being the worst case (matching untracked files).
Wed, 13 Mar 2013 10:43:51 -0700 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com> [Wed, 13 Mar 2013 10:43:51 -0700] rev 18766
blackbox: add backup bundle paths to blackbox logs Writes the backup bundle paths to the blackbox so it's easy to see which backup bundle is associated with which command when you are debugging an issue. Example output: 2013/03/13 10:39:56 durham> strip tip 2013/03/13 10:39:59 durham> saved backup bundle to /data/users/durham/www-hg/.hg/strip-backup/e5fac262363a-backup.hg 2013/03/13 10:40:03 durham> strip tip exited 0 after 7.97 seconds
Tue, 12 Mar 2013 10:37:48 -0700 tests: fix test-profile to not depend on HGPROF environment variable
Durham Goode <durham@fb.com> [Tue, 12 Mar 2013 10:37:48 -0700] rev 18765
tests: fix test-profile to not depend on HGPROF environment variable The test-profile test would fail if the user had HGPROF set to another profiler in their environment. This fix makes the test independent of that environment variable. Reverts the previous attempt to fix this, which was not cross platoform.
Tue, 12 Mar 2013 10:43:59 -0700 merge with crew-stable
Bryan O'Sullivan <bryano@fb.com> [Tue, 12 Mar 2013 10:43:59 -0700] rev 18764
merge with crew-stable
Tue, 12 Mar 2013 10:37:48 -0700 tests: fix test-profile to not depend on HGPROF environment variable
Durham Goode <durham@fb.com> [Tue, 12 Mar 2013 10:37:48 -0700] rev 18763
tests: fix test-profile to not depend on HGPROF environment variable The test-profile test would fail if the user had HGPROF set to another profiler in their environment. This fix makes the test independent of that environment variable.
Sat, 09 Mar 2013 22:14:46 +0100 check-code: do not prepend "warning" to a failure message
Simon Heimberg <simohe@besonet.ch> [Sat, 09 Mar 2013 22:14:46 +0100] rev 18762
check-code: do not prepend "warning" to a failure message The prefix has not been removed when this check changed from a warning to a failure.
Sat, 09 Mar 2013 16:09:27 -0800 merge with crew-stable
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Mar 2013 16:09:27 -0800] rev 18761
merge with crew-stable
Wed, 06 Mar 2013 20:13:09 -0800 strip: make --keep option not set all dirstate times to 0
Durham Goode <durham@fb.com> [Wed, 06 Mar 2013 20:13:09 -0800] rev 18760
strip: make --keep option not set all dirstate times to 0 hg strip -k was using dirstate.rebuild() which reset all the dirstate entries timestamps to 0. This meant that the next time hg status was run every file was considered to be 'unsure', which caused it to do expensive read operations on every filelog. On a repo with >150,000 files it took 70 seconds when everything was in memory. From a cold cache it took several minutes. The fix is to only reset files that have changed between the working context and the destination context. For reference, --keep means the working directory is left alone during the strip. We have users wanting to use this operation to store their work-in-progress as a commit on a branch while they go work on another branch, then come back later and be able to uncommit that work and continue working. They currently use 'git reset HARD^' to accomplish this in git.
Fri, 08 Mar 2013 16:59:36 -0800 sshpeer: store subprocess so it cleans up correctly
Durham Goode <durham@fb.com> [Fri, 08 Mar 2013 16:59:36 -0800] rev 18759
sshpeer: store subprocess so it cleans up correctly When running 'hg pull --rebase', I was seeing this exception 100% of the time as the python process was closing down: Exception TypeError: TypeError("'NoneType' object is not callable",) in <bound method Popen.__del__ of <subprocess.Popen object at 0x937c10>> ignored By storing the subprocess on the sshpeer, the subprocess seems to clean up correctly, and I no longer see the exception. I have no idea why this actually works, but I get a 0% repro if I store the subprocess in self.subprocess, and a 100% repro if I store None in self.subprocess. Possibly related to issue 2240.
Thu, 28 Feb 2013 10:12:26 -0800 blackbox: fix exception when logging commands with format characters
Durham Goode <durham@fb.com> [Thu, 28 Feb 2013 10:12:26 -0800] rev 18758
blackbox: fix exception when logging commands with format characters When running commands like 'hg export -o mypatch-%N.patch', the blackbox would throw an exception because it tried to format %N. This change prevents it from trying to format the command string.
Sat, 23 Mar 2013 13:34:50 +0200 localrepo: always write the filtered phasecache when nodes are destroyed (issue3827) stable
Idan Kamara <idankk86@gmail.com> [Sat, 23 Mar 2013 13:34:50 +0200] rev 18757
localrepo: always write the filtered phasecache when nodes are destroyed (issue3827) When the strip command is run, it calls repo.destroyed, which in turn checks if we read _phasecache, and if we did calls filterunknown on it and flushes the changes immediately. But in some cases, nothing causes _phasecache to be read, so we miss out on this and the file remains the same on-disk. Then a call to invalidate comes, which should refresh _phasecache if it changed, but it didn't, so it keeps using the old one with the stripped revision which causes an IndexError. Test written by Yuya Nishihara.
Tue, 19 Mar 2013 16:19:20 -0700 merge with stable stable
Bryan O'Sullivan <bryano@fb.com> [Tue, 19 Mar 2013 16:19:20 -0700] rev 18756
merge with stable
Mon, 11 Mar 2013 15:37:28 -0700 rebase: restore active bookmark after rebase --continue stable
Durham Goode <durham@fb.com> [Mon, 11 Mar 2013 15:37:28 -0700] rev 18755
rebase: restore active bookmark after rebase --continue When a rebase has conflicts and the user uses rebase --continue, the previously active bookmark was not being made active once again. With this change that bookmark is made active again, just as if the rebase had never been interrupted. This changes the rebasestate file format, but should handle old formats correctly. Since the file is transient, this is even less of a problem. Adds a test to verify the new behavior. I manually tested continuing rebases with and without an active bookmark, and with and without being on the bookmark being rebased.
Mon, 04 Mar 2013 10:05:52 +0100 setup.py: ignore warnings from obsolete stable
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Mon, 04 Mar 2013 10:05:52 +0100] rev 18754
setup.py: ignore warnings from obsolete Fix version detection with recent hg versions.
Mon, 04 Mar 2013 10:13:28 +0100 setup.py: add metadata to register package to PyPI stable
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Mon, 04 Mar 2013 10:13:28 +0100] rev 18753
setup.py: add metadata to register package to PyPI This allows updating PyPI with just 'setup.py register' (assuming the user is an owner or maintainer of the PyPI package).
Sat, 09 Feb 2013 21:51:21 +0000 minirst: optimize HTML table generation a bit
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 09 Feb 2013 21:51:21 +0000] rev 18752
minirst: optimize HTML table generation a bit avoid a couple of array copies and string interpolations
Sat, 09 Feb 2013 21:51:21 +0000 minirst: HTML formatter tweaks
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 09 Feb 2013 21:51:21 +0000] rev 18751
minirst: HTML formatter tweaks output table rows on distinct lines don't make the first row a table header
Sat, 09 Feb 2013 17:44:25 -0500 minirst: CGI escape strings prior to embedding it in the HTML
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 09 Feb 2013 17:44:25 -0500] rev 18750
minirst: CGI escape strings prior to embedding it in the HTML
Sat, 09 Feb 2013 21:51:21 +0000 minirst: don't generate TH elements for the first row in table
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 09 Feb 2013 21:51:21 +0000] rev 18749
minirst: don't generate TH elements for the first row in table We mainly use them for option tables -- browsers bolding and centering them looks wrong.
Sun, 10 Feb 2013 12:58:57 +0100 help: use a full header for topic titles
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sun, 10 Feb 2013 12:58:57 +0100] rev 18748
help: use a full header for topic titles ...for prettier HTML!
Sat, 09 Feb 2013 21:51:21 +0000 hgweb: generate HTML documentation
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 09 Feb 2013 21:51:21 +0000] rev 18747
hgweb: generate HTML documentation It's generated from the raw ReST source, as returned from help.help_().
Sat, 09 Feb 2013 21:51:21 +0000 help: move the majority of the help command to the help module
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 09 Feb 2013 21:51:21 +0000] rev 18746
help: move the majority of the help command to the help module We move the logic for generating the unformatted ReST source to the help module, in order to eventually avoid calling commands.help_() from hgweb. No functionality change.
Sat, 09 Feb 2013 21:51:21 +0000 hgweb help: split up long lines (in generated output)
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 09 Feb 2013 21:51:21 +0000] rev 18745
hgweb help: split up long lines (in generated output)
Fri, 01 Mar 2013 19:42:42 +0100 hgweb help: add tests
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Fri, 01 Mar 2013 19:42:42 +0100] rev 18744
hgweb help: add tests
Fri, 01 Mar 2013 10:05:37 -0600 merge with stable
Kevin Bullock <kbullock@ringworld.org> [Fri, 01 Mar 2013 10:05:37 -0600] rev 18743
merge with stable
Thu, 28 Feb 2013 21:58:37 -0600 merge with crew
Matt Mackall <mpm@selenic.com> [Thu, 28 Feb 2013 21:58:37 -0600] rev 18742
merge with crew
Thu, 28 Feb 2013 21:53:13 -0600 Added signature for changeset 5b7175377bab stable
Matt Mackall <mpm@selenic.com> [Thu, 28 Feb 2013 21:53:13 -0600] rev 18741
Added signature for changeset 5b7175377bab
Thu, 28 Feb 2013 21:53:04 -0600 Added tag 2.5.2 for changeset 5b7175377bab stable
Matt Mackall <mpm@selenic.com> [Thu, 28 Feb 2013 21:53:04 -0600] rev 18740
Added tag 2.5.2 for changeset 5b7175377bab
Thu, 28 Feb 2013 21:29:31 -0600 setparents: drop copies from dropped p2 (issue3843) stable 2.5.2
Matt Mackall <mpm@selenic.com> [Thu, 28 Feb 2013 21:29:31 -0600] rev 18739
setparents: drop copies from dropped p2 (issue3843)
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 18738
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.
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 18737
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.
Thu, 28 Feb 2013 13:11:42 -0800 util: add a timed function for use during development
Bryan O'Sullivan <bryano@fb.com> [Thu, 28 Feb 2013 13:11:42 -0800] rev 18736
util: add a timed function for use during development I often want to measure the cost of a function call before/after an optimization, where using top level "hg --time" timing introduces enough other noise that I can't tell if my efforts are having an effect. This decorator allows a developer to measure a function's cost with finer granularity.
Thu, 28 Feb 2013 12:51:18 -0800 util: generalize bytecount to unitcountfn
Bryan O'Sullivan <bryano@fb.com> [Thu, 28 Feb 2013 12:51:18 -0800] rev 18735
util: generalize bytecount to unitcountfn This gives us a function we can reuse to count units of other kinds.
Thu, 28 Feb 2013 21:34:44 +0100 help: new SHA-1 fingerprint of hg.intevation.org in hostfingerprints example
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 28 Feb 2013 21:34:44 +0100] rev 18734
help: new SHA-1 fingerprint of hg.intevation.org in hostfingerprints example The certificate was updated in March 2012. You can verify the certificate by using the Root CA certificate downloadable from https://ssl.intevation.de/ The intermediate CA is sent by https://hg.intevation.org/
Tue, 26 Feb 2013 21:04:50 +0100 tests: work around msys bash mangling of paths in test-mq.t
Mads Kiilerich <madski@unity3d.com> [Tue, 26 Feb 2013 21:04:50 +0100] rev 18733
tests: work around msys bash mangling of paths in test-mq.t
Thu, 28 Feb 2013 14:05:15 +0100 largefiles: remove wrong comment on standin matcher and code for creating dirs
Mads Kiilerich <madski@unity3d.com> [Thu, 28 Feb 2013 14:05:15 +0100] rev 18732
largefiles: remove wrong comment on standin matcher and code for creating dirs The existence of these directories could not be relied on anyway and all dependencies on them should have been removed.
Thu, 28 Feb 2013 14:51:59 +0100 merge with stable
Mads Kiilerich <madski@unity3d.com> [Thu, 28 Feb 2013 14:51:59 +0100] rev 18731
merge with stable
Thu, 28 Feb 2013 13:55:00 +0100 templatefilters: add missing import of _ stable
Mads Kiilerich <madski@unity3d.com> [Thu, 28 Feb 2013 13:55:00 +0100] rev 18730
templatefilters: add missing import of _
Thu, 28 Feb 2013 13:45:18 +0100 largefiles: updatelfiles should use working dir standins, not standins from p1 stable
Mads Kiilerich <madski@unity3d.com> [Thu, 28 Feb 2013 13:45:18 +0100] rev 18729
largefiles: updatelfiles should use working dir standins, not standins from p1 This makes a difference when working directory is dirty, especially when merging with a revision for which we don't have largefiles.
Thu, 28 Feb 2013 13:45:18 +0100 largefiles: simplify cachelfiles - don't spend a lot of time checking hashes stable
Mads Kiilerich <madski@unity3d.com> [Thu, 28 Feb 2013 13:45:18 +0100] rev 18728
largefiles: simplify cachelfiles - don't spend a lot of time checking hashes cachelfiles jumped through loops to handle merges and modified files ... but it did apparently no longer have a valid reason to do so. It should just always make sure that the largefiles referenced from the standins are present - no matter which actual largefile is stored in the working directory. If there is no standin then there is nothing to fetch. The old code usually verified the hash of all largefiles every time this function was invoked - for examply by 'update'. This change makes a trivial noop update 5-10 seconds faster on our repo (with the other 50% spent doing another unnecessary hashing of all largefiles).
Thu, 28 Feb 2013 13:45:18 +0100 largefiles: don't let update leave wrong largefiles in wd if fetch fails stable
Mads Kiilerich <madski@unity3d.com> [Thu, 28 Feb 2013 13:45:18 +0100] rev 18727
largefiles: don't let update leave wrong largefiles in wd if fetch fails Situations where a largefile for some reason wasn't available sometimes caused wrong largefile content and state. It has mostly been seen when interrupting download of largefiles ... and when introducing programming errors. Instead we now make sure to delete the old and wrong largefile. A missing file is a well-known error condition and much more reasonable way to handle the situation.
Thu, 28 Feb 2013 13:45:18 +0100 largefiles: missing largefiles should not be committed as removed stable
Mads Kiilerich <madski@unity3d.com> [Thu, 28 Feb 2013 13:45:18 +0100] rev 18726
largefiles: missing largefiles should not be committed as removed Largefiles can easily become missing - for example if it simply isn't available or the download fail. It might even be convenient to be able to work that way in some cases. But commiting missing largefiles as if they had been 'hg remove'd is plain wrong.
Thu, 28 Feb 2013 13:45:18 +0100 largefiles: don't assume that .hg/largefiles/ still exists stable
Mads Kiilerich <madski@unity3d.com> [Thu, 28 Feb 2013 13:45:18 +0100] rev 18725
largefiles: don't assume that .hg/largefiles/ still exists It might not have been created and it might have been removed.
Thu, 28 Feb 2013 13:45:18 +0100 largefiles: getstandinmatcher should not depend on existence of directories stable
Mads Kiilerich <madski@unity3d.com> [Thu, 28 Feb 2013 13:45:18 +0100] rev 18724
largefiles: getstandinmatcher should not depend on existence of directories Looking for a (potentially empty) directory was not reliable - both because it is a reasonable assumption that empty directories can be removed and because it wasn't created in all cases ... such as when pulling to an existing repository.
Thu, 28 Feb 2013 13:44:59 +0100 tests: don't rely on broken behaviour in test-largefiles-cache.t stable
Mads Kiilerich <madski@unity3d.com> [Thu, 28 Feb 2013 13:44:59 +0100] rev 18723
tests: don't rely on broken behaviour in test-largefiles-cache.t The test relied on the bug that 'pull largefiles from branchheads' didn't pull any largefiles from tip revision when it seemed like no largefiles had been checked out before.
Thu, 28 Feb 2013 13:44:24 +0100 largefiles: fix download of largefiles from an empty list of changesets stable
Mads Kiilerich <madski@unity3d.com> [Thu, 28 Feb 2013 13:44:24 +0100] rev 18722
largefiles: fix download of largefiles from an empty list of changesets The empty list was interpreted as all revisions - just like None is. The empty list is now handled explicitly.
Thu, 28 Feb 2013 13:44:22 +0100 largefiles: fix off-by-one error on pull --all-largefiles stable
Mads Kiilerich <madski@unity3d.com> [Thu, 28 Feb 2013 13:44:22 +0100] rev 18721
largefiles: fix off-by-one error on pull --all-largefiles Test output is changed in a case where one revision was pulled, but because of the off-by-one error it thought that 0 revisions were pulled ... and because of another bug it thus (tried to) fetch largefiles for all revisions. After this change it no longer reports failure when it failed while trying to fetch largefiles it shouldn't fetch. Largefiles that it shouldn't fetch but managed to fetch anyway will now correctly be missing later on. This change thus resolves some of unexplained test output introduced in 1e4eb1faba6e.
Sat, 23 Feb 2013 22:54:57 +0100 tests: remove glob lines which unnecessary match / for \ on windows
Simon Heimberg <simohe@besonet.ch> [Sat, 23 Feb 2013 22:54:57 +0100] rev 18720
tests: remove glob lines which unnecessary match / for \ on windows This lines were reported as unnecessary when running the tests on windows because the path was already printed with a slash and not a backslash.
Sat, 23 Feb 2013 22:07:38 +0100 tests: append glob to filename output when required for windows
Simon Heimberg <simohe@besonet.ch> [Sat, 23 Feb 2013 22:07:38 +0100] rev 18719
tests: append glob to filename output when required for windows The test failed on windows before this patch.
Fri, 22 Feb 2013 16:40:27 -0600 convert: stabilize cvsps commitid sort order
Matt Mackall <mpm@selenic.com> [Fri, 22 Feb 2013 16:40:27 -0600] rev 18718
convert: stabilize cvsps commitid sort order
Fri, 22 Feb 2013 15:17:33 -0600 pager: catch ctrl-c on exit (issue3834)
Matt Mackall <mpm@selenic.com> [Fri, 22 Feb 2013 15:17:33 -0600] rev 18717
pager: catch ctrl-c on exit (issue3834)
Fri, 22 Feb 2013 13:46:54 -0600 merge with crew
Matt Mackall <mpm@selenic.com> [Fri, 22 Feb 2013 13:46:54 -0600] rev 18716
merge with crew
Fri, 22 Feb 2013 13:45:46 -0600 templater: properly handle file_copies with %
Matt Mackall <mpm@selenic.com> [Fri, 22 Feb 2013 13:45:46 -0600] rev 18715
templater: properly handle file_copies with %
Fri, 22 Feb 2013 10:05:22 -0800 localrepo: iterate over manifest key/value pairs in status
Bryan O'Sullivan <bryano@fb.com> [Fri, 22 Feb 2013 10:05:22 -0800] rev 18714
localrepo: iterate over manifest key/value pairs in status This saves us a couple of dict lookups in the common case, and improves the performance of the status method by 5% (measured with util.timed) in a repo with a large manifest.
Thu, 21 Feb 2013 12:55:39 -0800 match: more accurately report when we're always going to match
Bryan O'Sullivan <bryano@fb.com> [Thu, 21 Feb 2013 12:55:39 -0800] rev 18713
match: more accurately report when we're always going to match This improves the performance of log --patch and --stat by about 20% for moderately large manifests (e.g. mozilla-central) for the common case of no -I/-X patterns.
Thu, 21 Feb 2013 13:16:02 -0600 scmutil: fix NameError on windows
Kevin Bullock <kbullock@ringworld.org> [Thu, 21 Feb 2013 13:16:02 -0600] rev 18712
scmutil: fix NameError on windows Forgot to import util in mercurial.scmwindows. Error was introduced in: changeset: 18862:4c6f7f0dadab user: Kevin Bullock <kbullock@ringworld.org> date: Tue Feb 12 11:36:21 2013 -0600 summary: scmutil: split platform-specific bits into their own modules
Wed, 20 Feb 2013 11:31:41 -0800 commands: exit from the log loop at the right time
Bryan O'Sullivan <bryano@fb.com> [Wed, 20 Feb 2013 11:31:41 -0800] rev 18711
commands: exit from the log loop at the right time Previously, we'd run the iterator one more time than necessary, potentially doing a lot of extra work in the process.
Wed, 20 Feb 2013 11:31:38 -0800 cmdutil: use a small initial window with --limit
Bryan O'Sullivan <bryano@fb.com> [Wed, 20 Feb 2013 11:31:38 -0800] rev 18710
cmdutil: use a small initial window with --limit In a large repo, running a command like "log -l1 -p" was expensive because it would always traverse 8 commits, as 8 was the initial window size. We now choose the lesser of 8 or the limit, speeding up the "log -l1 -p" case by a factor of 5.
Wed, 20 Feb 2013 11:31:34 -0800 worker: handle worker failures more aggressively
Bryan O'Sullivan <bryano@fb.com> [Wed, 20 Feb 2013 11:31:34 -0800] rev 18709
worker: handle worker failures more aggressively We now wait for worker processes in a separate thread, so that we can spot failures in a timely way, wihout waiting for the progress pipe to drain. If a worker fails, we recover the pre-parallel-update behaviour of failing early by killing its peers before propagating the failure.
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
Mon, 11 Feb 2013 01:17:50 +0100 merge crew and main
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Mon, 11 Feb 2013 01:17:50 +0100] rev 18652
merge crew and main
Sun, 10 Feb 2013 16:55:01 +0000 manifestmerge: fix order in which manifests are fetched
Siddharth Agarwal <sid0@fb.com> [Sun, 10 Feb 2013 16:55:01 +0000] rev 18651
manifestmerge: fix order in which manifests are fetched If the manifest of an earlier revision on the same delta chain is read before that of a later revision, the revlog remembers that we parsed the earlier revision and continues applying deltas from there onwards. If manifests are parsed the other way round, we have to start over from the fulltext. For a fresh clone of mozilla-central, updating from 29dd80c95b7d to its parent aab96936a177 requires approximately 400 fewer zlib.decompress calls, which results in a speedup from 1.10 seconds to 1.05.
Sun, 10 Feb 2013 12:16:46 +0000 merge: run _forgetremoved after manifestmerge
Siddharth Agarwal <sid0@fb.com> [Sun, 10 Feb 2013 12:16:46 +0000] rev 18650
merge: run _forgetremoved after manifestmerge _forgetremoved can trigger manifest construction, but we only want it to happen after manifestmerge, so that our attempt to read the manifests in the right order in an upcoming patch actually works.
Sun, 10 Feb 2013 16:23:14 +0000 dirstate: disable gc while parsing the dirstate
Siddharth Agarwal <sid0@fb.com> [Sun, 10 Feb 2013 16:23:14 +0000] rev 18649
dirstate: disable gc while parsing the dirstate This prevents a performance regression an upcoming patch would otherwise introduce because it indirectly delays parsing the dirstate a bit.
Fri, 08 Feb 2013 22:54:17 +0100 export: show 'Date' header in a format that also is readable for humans
Mads Kiilerich <mads@kiilerich.com> [Fri, 08 Feb 2013 22:54:17 +0100] rev 18648
export: show 'Date' header in a format that also is readable for humans 'export' is the official export format and used by patchbomb, but it would only show date as a timestamp that most humans might find it hard to relate to. It would be very convenient when reviewing a patch to be able to see what timestamp the patch will end up with. Mercurial has always used util.parsedate for parsing these headers. It can handle 'all' date formats, so we could just as well use a readable one. 'export' will now use the format used by 'log' - which is the format described as 'Unix date format' in the templating help. We assume that all parsers of '# HG changeset patch'es can handle that.
Sun, 10 Feb 2013 18:26:04 +0100 factotum: fix urllib2 import so it no longer relies on a demandimport bug
Mads Kiilerich <mads@kiilerich.com> [Sun, 10 Feb 2013 18:26:04 +0100] rev 18647
factotum: fix urllib2 import so it no longer relies on a demandimport bug demandimport will do that urllib2 can be imported 'from mercurial' even though it doesn't exist there.
Sun, 27 Jan 2013 03:32:09 +0100 hgweb: make the test suite use hgweb in a more WSGI compliant way
Mads Kiilerich <mads@kiilerich.com> [Sun, 27 Jan 2013 03:32:09 +0100] rev 18646
hgweb: make the test suite use hgweb in a more WSGI compliant way - as checked by wsgiref.validate. This makes sure that we don't optimize hgweb for invalid use cases.
Sun, 10 Feb 2013 18:24:29 +0100 hgweb: simplify internal staticfile return codes
Mads Kiilerich <mads@kiilerich.com> [Sun, 10 Feb 2013 18:24:29 +0100] rev 18645
hgweb: simplify internal staticfile return codes
Sun, 10 Feb 2013 18:24:29 +0100 spelling: fix some minor issues found by spell checker
Mads Kiilerich <mads@kiilerich.com> [Sun, 10 Feb 2013 18:24:29 +0100] rev 18644
spelling: fix some minor issues found by spell checker
Fri, 08 Feb 2013 23:26:00 +0100 bundlerepo: replace basemap with the base field in the index
Mads Kiilerich <mads@kiilerich.com> [Fri, 08 Feb 2013 23:26:00 +0100] rev 18643
bundlerepo: replace basemap with the base field in the index Bundle revisions had some info in their fake revlog intries and some info in a dict with all the bundle revisions. This dict was used to get the stored data and to distinguish repo revisions from bundle revisions. Real repo revisions and bundle revisions will now be distinguished by comparing with the tip revision of the original repo. This reintroduces something similar to disktiprev which was unused and removed in a928865b4a4f and let that replace the O(reposize) dict.
Fri, 08 Feb 2013 22:54:48 +0100 profiling: replace '+' markup of nested lines with indentation
Mads Kiilerich <mads@kiilerich.com> [Fri, 08 Feb 2013 22:54:48 +0100] rev 18642
profiling: replace '+' markup of nested lines with indentation The display of nested lines for hg --profile was very non-obvious and made it look like sort didn't work. The '+' immediately before CallCount was not related to the CallCount and did not mean plus in any integer sense. The '+' before module looked like a part of the module name and not like ascii art. Instead we now indent the subordinate module names to clearly show the structure.
Sun, 10 Feb 2013 04:04:22 -0600 Merge crew and main.
Augie Fackler <raf@durin42.com> [Sun, 10 Feb 2013 04:04:22 -0600] rev 18641
Merge crew and main.
Sat, 09 Feb 2013 15:51:32 -0800 merge: don't fiddle with name lookups or i18n in hot loops
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:51:32 -0800] rev 18640
merge: don't fiddle with name lookups or i18n in hot loops We perform attribute dereferences and i18n lookups before looping.
Sat, 09 Feb 2013 15:51:32 -0800 merge: apply non-interactive working dir updates in parallel
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:51:32 -0800] rev 18639
merge: apply non-interactive working dir updates in parallel This has a big effect on the performance of working dir updates. Here are the results of update from null to the given rev in several repos, on a Linux 3.2 system with 32 cores running ext4, with the progress extension enabled. repo rev plain parallel speedup hg 7068089c95a2 0.9 0.3 3 mozilla-central fe1600b22c77 42.8 7.7 5.5 linux-2.6 9ef4b770e069 31.4 4.9 6.4
Sat, 09 Feb 2013 15:51:32 -0800 worker: allow a function to be run in multiple worker processes
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:51:32 -0800] rev 18638
worker: allow a function to be run in multiple worker processes If we estimate that it will be worth the cost, we run the function in multiple processes. Otherwise, we run it in-process. Children report progress to the parent through a pipe. Not yet implemented on Windows.
Sat, 09 Feb 2013 15:51:32 -0800 worker: partition a list (of tasks) into equal-sized chunks
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:51:32 -0800] rev 18637
worker: partition a list (of tasks) into equal-sized chunks
Sat, 09 Feb 2013 15:51:26 -0800 worker: estimate whether it's worth running a task in parallel
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:51:26 -0800] rev 18636
worker: estimate whether it's worth running a task in parallel Not implemented for Windows yet.
Sat, 09 Feb 2013 15:22:12 -0800 worker: count the number of CPUs
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:22:12 -0800] rev 18635
worker: count the number of CPUs This works on the major platforms, and falls back to a safe guess of 1 elsewhere.
Sat, 09 Feb 2013 15:22:10 -0800 tests: getremove test output changes (fold into previous patch)
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:22:10 -0800] rev 18634
tests: getremove test output changes (fold into previous patch)
Sat, 09 Feb 2013 15:22:09 -0800 merge: report non-interactive progress in chunks
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:22:09 -0800] rev 18633
merge: report non-interactive progress in chunks Instead of a monotonic count, getupdates yields the number of files it has updated since it last reported, and its caller sums the numbers when updating progress. Once we run these updates in parallel, this will allow worker processes to report progress less often, reducing overhead.
Sat, 09 Feb 2013 15:22:08 -0800 merge: handle subrepo merges and .hgsubstate specially
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:22:08 -0800] rev 18632
merge: handle subrepo merges and .hgsubstate specially In an upcoming patch, we will update .hgsubstate in a non-interactive worker process. Merges of subrepo contents will still need to occur in the master process (since they may be interactive), so we move that code into a place where it will always run in what will become the master process.
Sat, 09 Feb 2013 15:22:04 -0800 tests: update test output (will be folded into parent)
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:22:04 -0800] rev 18631
tests: update test output (will be folded into parent)
Sat, 09 Feb 2013 15:21:58 -0800 merge: split out mostly-non-interactive working dir updates
Bryan O'Sullivan <bryano@fb.com> [Sat, 09 Feb 2013 15:21:58 -0800] rev 18630
merge: split out mostly-non-interactive working dir updates In a later patch, we'll run these updates in parallel.
Sat, 09 Feb 2013 11:00:42 +0100 extensions: obsolete and remove interhg extension
Angel Ezquerra <angel.ezquerra@gmail.com> [Sat, 09 Feb 2013 11:00:42 +0100] rev 18629
extensions: obsolete and remove interhg extension With the addition of the websub filter extension this extension is no longer needed. We maintain a sort of backwards compatibility by reading the [interhg] section and using it as we would use the [websub] section.
Sat, 09 Feb 2013 16:48:21 +0100 hgweb: apply the websub filter to revision descriptions
Angel Ezquerra <angel.ezquerra@gmail.com> [Sat, 09 Feb 2013 16:48:21 +0100] rev 18628
hgweb: apply the websub filter to revision descriptions In order to use this, add a [websub] section to your configuration and add websub expressions such as: italic = s/\b_(\S+)_\b/<i>\1<\/i>/ bold = s/\*\b(\S+)\b\*/<b>\1<\/b>/ issues = s|issue(\d+)|<a href="http://bts.example.org/issue\1">issue\1</a>|i bugzilla = s!((?:bug|b=|(?=#?\d{4,}))(?:\s*#?)(\d+))!<a href="http://bz.selenic.com/\2">\1</a>!i This also adds documentation (proofed by Kevin!) to the config help section.
Fri, 08 Feb 2013 18:05:32 +0100 hgweb: add websub template filter
Angel Ezquerra <angel.ezquerra@gmail.com> [Fri, 08 Feb 2013 18:05:32 +0100] rev 18627
hgweb: add websub template filter The purpose of this new filter is to make it possible to partially replace the functionality of the interhg extension. The idea is to be able to define regular expression based substitutions on a new "websub" config section. hgweb will then be able to apply these substitutions wherever the "websub" filter is used on a template. This first revision just adds the code necessary to load the websub expressions and adds the websub filter, but it does not add any calls to the websub filter itself on any of the templates. That will be done on the following revisions.
Tue, 05 Feb 2013 14:36:19 -0800 addremove: don't audit the path for paths already in the dirstate
Durham Goode <durham@fb.com> [Tue, 05 Feb 2013 14:36:19 -0800] rev 18626
addremove: don't audit the path for paths already in the dirstate Now that dirstate.walk returns None for paths under symlink directories, addremove doesn't need to validate each path it sees to look for files under symlinks. On a large repository this brings addremove from 6.3 seconds down to 3.65 (42%) since addremove no longer has to stat every directory of every file to determine if the file is inside a symlink directory. I put it through our benchmark and see no perf hit to any other commands.
Mon, 04 Feb 2013 14:27:15 -0800 dirstate: walk returns None for files that have a symlink in their path
Durham Goode <durham@fb.com> [Mon, 04 Feb 2013 14:27:15 -0800] rev 18625
dirstate: walk returns None for files that have a symlink in their path Previously dirstate.walk would return a stat object for files in the dmap that have a symlink to a directory in their path. Now it will return None to indicate that they are no longer considered part of the repository. This currently only affects walks that traverse the entire directory tree (ex: hg status) and not walks that only list the contents of the dmap (ex: hg diff). In a situation like this: mkdir foo && touch foo/a && hg commit -Am "a" mv foo bar ln -s bar foo 'hg status' will now show '! foo/a', whereas before it incorrectly considered 'foo/a' to be unchanged. In addition to making 'hg status' report the correct information, this will allow callers to dirstate.walk to not have to detect symlinks themselves, which can be very expensive.
Tue, 05 Feb 2013 14:24:14 -0800 pathauditor: add check() method
Durham Goode <durham@fb.com> [Tue, 05 Feb 2013 14:24:14 -0800] rev 18624
pathauditor: add check() method The pathauditor currently throws exceptions when it encounters an invalid path. This change adds a method to allow people to treat it as a boolean. This is currently used by scmutil.addremove and in a subsequent patch it will be used by dirstate.walk
Sat, 09 Feb 2013 22:54:34 +0000 summary: add missing space for updated active bookmark display
Matt Mackall <mpm@selenic.com> [Sat, 09 Feb 2013 22:54:34 +0000] rev 18623
summary: add missing space for updated active bookmark display
Fri, 08 Feb 2013 21:47:22 +0000 summary: show active bookmark even if not at current changeset
Kevin Bullock <kbullock@ringworld.org> [Fri, 08 Feb 2013 21:47:22 +0000] rev 18622
summary: show active bookmark even if not at current changeset Before this change, 'hg summary' would not show the active bookmark unless it pointed to the working directory parent. After this change, it will show it in parentheses, like so: parent: 18581:f0ff45fe6700 tip summary: simplify handling of active bookmark branch: default bookmarks: [crew] commit: (clean) update: (current)
Sun, 27 Jan 2013 11:53:46 -0600 summary: simplify handling of active bookmark
Kevin Bullock <kbullock@ringworld.org> [Sun, 27 Jan 2013 11:53:46 -0600] rev 18621
summary: simplify handling of active bookmark
Fri, 08 Feb 2013 21:32:43 +0000 summary: test that current bookmark isn't shown
Kevin Bullock <kbullock@ringworld.org> [Fri, 08 Feb 2013 21:32:43 +0000] rev 18620
summary: test that current bookmark isn't shown This exposes the current behavior in a test. A later change will make summary show when the active bookmark has moved out from under us.
Sat, 09 Feb 2013 22:27:13 +0000 merge crew heads
Kevin Bullock <kbullock@ringworld.org> [Sat, 09 Feb 2013 22:27:13 +0000] rev 18619
merge crew heads
Sat, 09 Feb 2013 22:25:58 +0000 merge with stable
Kevin Bullock <kbullock@ringworld.org> [Sat, 09 Feb 2013 22:25:58 +0000] rev 18618
merge with stable
Sat, 09 Feb 2013 17:54:01 +0000 outgoing: fix possible filtering crash in outgoing (issue3814) stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 09 Feb 2013 17:54:01 +0000] rev 18617
outgoing: fix possible filtering crash in outgoing (issue3814) If there is no outgoiing changesets but we have filtered revision in outgoing.excluded We run into a filtering related crash. The excluded revision should not be there in the first place but discovery need cleanup in default, not stable.
Wed, 30 Jan 2013 01:24:04 +0100 test: display used python hash seed
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 30 Jan 2013 01:24:04 +0100] rev 18616
test: display used python hash seed We keep using a random seed for each run, but we "compute" it ourself to be able to reproduce a failed test run.
Sat, 09 Feb 2013 17:54:01 +0000 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 09 Feb 2013 17:54:01 +0000] rev 18615
outgoing: fix possible filtering crash in outgoing (issue3814) If there is no outgoiing changesets but we have filtered revision in outgoing.excluded We run into a filtering related crash. The excluded revision should not be there in the first place but discovery need cleanup in default, not stable.
(0) -10000 -3000 -1000 -192 +192 +1000 +3000 +10000 +30000 tip