Mon, 13 Feb 2012 18:37:07 +0100 largefiles: optimize update speed by only updating changed largefiles
Na'Tosha Bard <natosha@unity3d.com> [Mon, 13 Feb 2012 18:37:07 +0100] rev 16120
largefiles: optimize update speed by only updating changed largefiles Historically, during 'hg update', every largefile in the working copy was hashed (which is a very expensive operation on big files) and any largefiles that did not have a hash that matched their standin were updated. This patch optimizes 'hg update' by keeping track of what standins have changed between the old and new revisions, and only updating the largefiles that have changed. This saves a lot of time by avoiding the unecessary calculation of a list of sha1 hashes for big files. With this patch, the time 'hg update' takes to complete is a function of how many largefiles need to be updated and what their size is. Performance tests on a repository with about 80 largefiles ranging from a few MB to about 97 MB are shown below. The tests show how long it takes to run 'hg update' with no changes actually being updated. Mercurial 2.1 release: $ time hg update 0 files updated, 0 files merged, 0 files removed, 0 files unresolved getting changed largefiles 0 largefiles updated, 0 removed real 0m10.045s user 0m9.367s sys 0m0.674s With this patch: $ time hg update 0 files updated, 0 files merged, 0 files removed, 0 files unresolved real 0m0.965s user 0m0.845s sys 0m0.115s The same repsoitory, without the largefiles extension enabled: $ time hg update 0 files updated, 0 files merged, 0 files removed, 0 files unresolved real 0m0.799s user 0m0.684s sys 0m0.111s So before the patch, 'hg update' with no changes was approximately 9.25s slower with largefiles enabled. With this patch, it is approximately 0.165s slower.
Tue, 14 Feb 2012 14:31:40 +0100 mq: make qimport --push push all imported patches (issue3130) stable
Patrick Mezard <patrick@mezard.eu> [Tue, 14 Feb 2012 14:31:40 +0100] rev 16119
mq: make qimport --push push all imported patches (issue3130) Only the first imported one was pushed.
Wed, 15 Feb 2012 11:21:24 +0100 convert: tolerate spaces between splicemap parent ids (issue3203) stable
Patrick Mezard <patrick@mezard.eu> [Wed, 15 Feb 2012 11:21:24 +0100] rev 16118
convert: tolerate spaces between splicemap parent ids (issue3203) Splicemap lines are documented in hg help convert like: key parent1, parent2 but parsed like: key, parents = line.strip().rsplit(' ', 1) parents = parents.replace(',', ' ').split() The rsplit() call was introduced to handle spaces in keys for the generic mapfile format. Spaces can appear in svn identifiers since they contain path components. This logic makes less sense with splicemap since svn identifiers can also appear on the right side, even if it is a bit less likely. Given the parsing is theorically broken, I would rather follow what is documented already and is correct in the main case where all identifiers are hg hashes. Also, using svn identifiers in a splicemap sounds difficult as they are not easily accessible.
Thu, 16 Feb 2012 01:23:45 +0200 test-commandserver: flush stdout stable
Idan Kamara <idankk86@gmail.com> [Thu, 16 Feb 2012 01:23:45 +0200] rev 16117
test-commandserver: flush stdout
Thu, 16 Feb 2012 01:21:34 +0200 localrepo: clear _filecache on rollback (issue3261) stable
Idan Kamara <idankk86@gmail.com> [Thu, 16 Feb 2012 01:21:34 +0200] rev 16116
localrepo: clear _filecache on rollback (issue3261) Files are being replaced by rollback but the corresponding data in localrepo isn't actually updated for things like bookmarks, phases, etc. Then when rollback is done, the cache is updated thinking it has the most up-to-date data, where in fact it is still pre-rollback. We clear _filecache to force everything to be recreated.
Wed, 15 Feb 2012 20:02:35 +0200 scmutil: update cached copy when filecached attribute is assigned (issue3263) stable
Idan Kamara <idankk86@gmail.com> [Wed, 15 Feb 2012 20:02:35 +0200] rev 16115
scmutil: update cached copy when filecached attribute is assigned (issue3263) When assigning a new object to filecached properties, the cached object that was kept in the _filecache map was still holding the old object. By implementing __set__, we track these changes too and update the cached copy as well.
Wed, 15 Feb 2012 23:44:10 +0200 cmdserver: invalidate the dirstate when running commands (issue3271) stable
Idan Kamara <idankk86@gmail.com> [Wed, 15 Feb 2012 23:44:10 +0200] rev 16114
cmdserver: invalidate the dirstate when running commands (issue3271) The dirstate is invalidated separately outside of invalidate() which is already being called (other callers of invalidate() seems to suggest the separation is there for a reason).
Wed, 15 Feb 2012 23:49:15 +0200 localrepo: reset _phasesdirty flag after writing stable
Idan Kamara <idankk86@gmail.com> [Wed, 15 Feb 2012 23:49:15 +0200] rev 16113
localrepo: reset _phasesdirty flag after writing
Thu, 16 Feb 2012 13:03:42 +0100 import: handle git renames and --similarity (issue3187) stable
Patrick Mezard <patrick@mezard.eu> [Thu, 16 Feb 2012 13:03:42 +0100] rev 16112
import: handle git renames and --similarity (issue3187) There is no reason to discard copy sources from the set of files considered by addremove(). It was done to handle the case where a first patch would create 'a' and a second one would move 'a' to 'b'. If these patches were applied with --no-commit, 'a' would first be marked as added, then unlinked and dropped from the dirstate but still passed to addremove(). A better fix is thus to exclude removed files which ends being dropped from the dirstate instead of removed. Reported by Jason Harris <jason@jasonfharris.com>
Thu, 16 Feb 2012 12:56:48 +0100 context: make workingctx.forget() really warn about untracked files stable
Patrick Mezard <patrick@mezard.eu> [Thu, 16 Feb 2012 12:56:48 +0100] rev 16111
context: make workingctx.forget() really warn about untracked files
Wed, 15 Feb 2012 23:01:09 +0900 largefiles: check whether specified patterns are related to largefiles strictly stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 15 Feb 2012 23:01:09 +0900] rev 16110
largefiles: check whether specified patterns are related to largefiles strictly current 'lfiles_repo.status()' implementation examines whether specified patterns are related to largefiles in working directory (not to STANDIN) or not by NOT-EMPTY-NESS of below list: [f for f in match.files() if f in lfdirstate] but it can not be assumed that all in 'match.files()' are file itself exactly, because user may only specify part of path to match whole under subdirectories recursively. above examination will mis-recognize such pattern as 'not related to largefiles', and executes normal 'status()' procedure. so, 'hg status' shows '?'(unknown) status for largefiles in working directory unexpectedly. this patch examines relation of pattern to largefiles by applying 'match()' on each entries in lfdirstate and checking wheter there is no matched entry. it may increase cost of examination, because it causes of full scan of entries in lfdirstate. so this patch uses normal for-loop instead of list comprehensions, to decrease cost when matching is found.
Fri, 10 Feb 2012 17:09:23 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 10 Feb 2012 17:09:23 -0600] rev 16109
merge with stable
Fri, 10 Feb 2012 16:52:32 -0600 log: remove caching of all visited revisions (issue3253) stable
Matt Mackall <mpm@selenic.com> [Fri, 10 Feb 2012 16:52:32 -0600] rev 16108
log: remove caching of all visited revisions (issue3253) Not only does this eat all available memory for some users, it's slower.
Fri, 10 Feb 2012 16:09:30 -0600 pull: backout change to return code stable
Matt Mackall <mpm@selenic.com> [Fri, 10 Feb 2012 16:09:30 -0600] rev 16107
pull: backout change to return code This bit a number of people.
Fri, 10 Feb 2012 22:34:13 +0100 convert: use splicemap entries when sorting revisions (issue1748) stable
Patrick Mezard <patrick@mezard.eu> [Fri, 10 Feb 2012 22:34:13 +0100] rev 16106
convert: use splicemap entries when sorting revisions (issue1748) When sorting revisions before converting them, we have to edit the revision graph using splicemap entries. Otherwise, a spliced revision may be converted before its synthetic parents. Invalid splicemap revisions are now detected before starting the conversion.
Fri, 10 Feb 2012 22:25:49 +0100 convert: turn splicemap into a simple dictionary stable
Patrick Mezard <patrick@mezard.eu> [Fri, 10 Feb 2012 22:25:49 +0100] rev 16105
convert: turn splicemap into a simple dictionary Parsing the splicemap as a mapfile was a pain because map does not let us override its parsing code and splicemap entries are not key/values. Besides we had no need for mapfiles extra features. Just parse the splicemap and return a dictionary.
Fri, 10 Feb 2012 13:50:13 +0100 debugrevspec: mention --verbose to print the parsed tree
Patrick Mezard <patrick@mezard.eu> [Fri, 10 Feb 2012 13:50:13 +0100] rev 16104
debugrevspec: mention --verbose to print the parsed tree
Fri, 10 Feb 2012 14:46:09 +0100 largefiles: only cache largefiles in new heads stable
Na'Tosha Bard <natosha@unity3d.com> [Fri, 10 Feb 2012 14:46:09 +0100] rev 16103
largefiles: only cache largefiles in new heads This fixes a serious performance regression in largefiles introduced in Mercurial 2.1. Caching new largefiles on pull is necessary, because otherwise largefiles will be missing (and unable to be downloaded) when the user tries to merge or rebase a new head with an old one. But this is an expensive operation and should only be done for heads that are new from the pull, rather than on all heads in the repository.
Fri, 10 Feb 2012 13:47:57 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 10 Feb 2012 13:47:57 -0600] rev 16102
merge with stable
Tue, 07 Feb 2012 18:47:16 +0100 mq: restore _branchtags() fast path (issue3223) stable
Patrick Mezard <patrick@mezard.eu> [Tue, 07 Feb 2012 18:47:16 +0100] rev 16101
mq: restore _branchtags() fast path (issue3223) Since a5917346c72e, mq saves the nodeid of the first applied patch to cache/branchheads, which breaks the optimized cache handling introduced in fbf8320f25c8. The problem is the revision being committed is appended to mqrepo.applied after the commit succeeds, which means mqrepo._branchtags() performs a regular update and write the first applied patch to the branch cache. One solution is to set a context variable _committingpatch on the mqrepo while it is committing a patch and to take it in account when deciding to fast-path mqrepo._branchtags(). Not really elegant but it works. The changes to test-mq-caches.t reverse changes introduced by a5917346c72e. The cache should not have been updated with mq records. The changes to test-keyword.t are indirectly caused by a5917346c72e. Reported and analyzed by Yuya Nishihara <yuya@tcha.org> Notes: - qpush still makes a slow path _branchtags() call when checking heads. Maybe this can be optimized. - be careful when merging this patch in default as secretcommit() was renamed newcommit() right after the end of the code freeze.
Tue, 07 Feb 2012 18:47:13 +0100 mq: ensure all mq commits are made with secretcommit() stable
Patrick Mezard <patrick@mezard.eu> [Tue, 07 Feb 2012 18:47:13 +0100] rev 16100
mq: ensure all mq commits are made with secretcommit() Having a common code path helps fixing things globally.
Wed, 08 Feb 2012 17:45:10 +0100 convert/bzr: ignore nested repos when listing branches (issue3254)
Patrick Mezard <patrick@mezard.eu> [Wed, 08 Feb 2012 17:45:10 +0100] rev 16099
convert/bzr: ignore nested repos when listing branches (issue3254) Reported by A.S. Budden <abudden@gmail.com>
Wed, 08 Feb 2012 16:56:00 +0000 tests: tighten checks for octal escapes in shell printf. stable
Jim Hague <jim.hague@acm.org> [Wed, 08 Feb 2012 16:56:00 +0000] rev 16098
tests: tighten checks for octal escapes in shell printf. printf on AIX default shell ksh (89) says \1 is an invalid escape. It insists on at least 2 digits. This causes failures in test-keyword.t and test-status.t. check-code.py already looks out for \NNN and recommends using Python for outputting octal values. Extend the check to \NN and \N and fix up resulting failures.
Wed, 08 Feb 2012 20:00:52 +0100 phase: when phase cannot be reduced, hint at --force and return 1 (BC)
Patrick Mezard <patrick@mezard.eu> [Wed, 08 Feb 2012 20:00:52 +0100] rev 16097
phase: when phase cannot be reduced, hint at --force and return 1 (BC) Before, trying to change the phase of a "public" node to "draft" would result in: $ hg phase --draft . no phases changed [0] With this patch: $ hg phase --draft . cannot move 1 changesets to a more permissive phase, use --force no phases changed [1] On partial failures, the exit status is now 1 instead of 0 and the number of changed nodes is displayed while it was only with --verbose. It seems useful to tell the user that despite the apparent failure, something changed. $ hg phase --draft '5 or 7' cannot move 1 changesets to a more permissive phase, use --force phase changed for 1 changesets [1]
Thu, 09 Feb 2012 21:03:07 +0100 revset: fix alias substitution recursion (issue3240)
Patrick Mezard <patrick@mezard.eu> [Thu, 09 Feb 2012 21:03:07 +0100] rev 16096
revset: fix alias substitution recursion (issue3240) The revset aliases expansion worked like: expr = "some revset" for alias in aliases: expr = alias.process(expr) where "process" was replacing the alias with its *unexpanded* substitution, recursively. So it only worked when aliases were applied in proper dependency order. This patch rewrites the expansion process so all aliases are expanded recursively at every tree level, after parent alias rewriting and variable expansion.
Thu, 09 Feb 2012 17:54:47 -0600 update: just merge unknown file collisions
Matt Mackall <mpm@selenic.com> [Thu, 09 Feb 2012 17:54:47 -0600] rev 16095
update: just merge unknown file collisions The unknown file collision rule was introduced as an extension of the "should be clean when merging" rule. Unfortunately, it got applied to the normal update path, which should be happy to merge local changes. This patch gives us merges for unknown file collisions on update, while preserving abort for merge and update -c.
Thu, 09 Feb 2012 17:04:17 -0600 merge: don't use unknown()
Matt Mackall <mpm@selenic.com> [Thu, 09 Feb 2012 17:04:17 -0600] rev 16094
merge: don't use unknown() This removes use of unknown files for building the synthetic working directory manifest used by manifestmerge. Instead, we adopt the strategy used by _checkunknown. Side-effect: unknown files are no longer moved by remote directory renames, and now are left alone like ignored files.
Thu, 09 Feb 2012 16:50:19 -0600 merge: refactor unknown file conflict checking
Matt Mackall <mpm@selenic.com> [Thu, 09 Feb 2012 16:50:19 -0600] rev 16093
merge: refactor unknown file conflict checking Previously, we would do a full working directory walk including unknown files to perform a merge. In many cases, this was painful because unknown files greatly outnumbered tracked files and generally had no useful effect on the merge. Here we instead wait until we find a file in the destination that's not tracked locally and detect if it exists and is not ignored. This is usually cheaper but can be -more- expensive in the case where we're adding a huge number of files. On the other hand, the cost of statting the new files should be dwarfed by the cost of eventually writing them. In this version, case collisions are detected implicitly by os.path.exists and wctx[f] lookup.
Thu, 09 Feb 2012 13:16:20 -0600 update: use normal update path with --check (issue2450)
Matt Mackall <mpm@selenic.com> [Thu, 09 Feb 2012 13:16:20 -0600] rev 16092
update: use normal update path with --check (issue2450) This avoids clobbering unknown files on update by not using overwrite mode.
Mon, 06 Feb 2012 16:35:14 -0600 fetch: use update rather than clean when updating (issue3246) stable
Matt Mackall <mpm@selenic.com> [Mon, 06 Feb 2012 16:35:14 -0600] rev 16091
fetch: use update rather than clean when updating (issue3246) We already verify the working directory is "clean" before starting so there's no advantage to clobbering the working directory.
Mon, 06 Feb 2012 15:36:44 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 06 Feb 2012 15:36:44 -0600] rev 16090
merge with stable
Mon, 06 Feb 2012 21:17:50 +0100 mdiff: adjust hunk offsets with --ignore-blank-lines (issue3234) stable
Patrick Mezard <patrick@mezard.eu> [Mon, 06 Feb 2012 21:17:50 +0100] rev 16089
mdiff: adjust hunk offsets with --ignore-blank-lines (issue3234) When diffing the following documents with --ignore-blank-lines (-B): $ cat > a <<EOF > > > > b > x > d > EOF and: $ cat > b <<EOF > b > y > d > EOF the context lines are taken from the first document, even if the lines differ (with -w or -b) or if the number of lines differ (with -B). In the second case, we have to adjust the hunk new lines offsets or we end with inconsistent diffs like (see the @@ offsets): diff -r 0e66aa54f318 a --- a/a +++ b/a @@ -1,4 +1,3 @@ b -x +y d Note that having different context lines in a and b means the diff can be applied but is not invertible. Reported by Nicholas Riley <com-selenic@sabi.net>
Mon, 06 Feb 2012 15:22:43 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 06 Feb 2012 15:22:43 -0600] rev 16088
merge with stable
Mon, 06 Feb 2012 15:22:34 -0600 merge with i18n
Matt Mackall <mpm@selenic.com> [Mon, 06 Feb 2012 15:22:34 -0600] rev 16087
merge with i18n
Mon, 06 Feb 2012 15:22:27 -0600 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Mon, 06 Feb 2012 15:22:27 -0600] rev 16086
merge with i18n
Mon, 06 Feb 2012 08:10:32 -0200 i18n-de: fix rst markup in command output (issue3247)
Wagner Bruna <wbruna@yahoo.com> [Mon, 06 Feb 2012 08:10:32 -0200] rev 16085
i18n-de: fix rst markup in command output (issue3247)
Mon, 06 Feb 2012 08:06:42 -0200 merge with i18n stable
Wagner Bruna <wbruna@yahoo.com> [Mon, 06 Feb 2012 08:06:42 -0200] rev 16084
merge with i18n stable
Mon, 06 Feb 2012 08:04:16 -0200 i18n-ru: fix hg command rst markup stable
Wagner Bruna <wbruna@yahoo.com> [Mon, 06 Feb 2012 08:04:16 -0200] rev 16083
i18n-ru: fix hg command rst markup
Mon, 06 Feb 2012 08:03:34 -0200 i18n-ja: fix rst markup in hg command output stable
Wagner Bruna <wbruna@yahoo.com> [Mon, 06 Feb 2012 08:03:34 -0200] rev 16082
i18n-ja: fix rst markup in hg command output
Mon, 06 Feb 2012 08:02:05 -0200 i18n-de: fix rst markup in command output (issue3247) stable
Wagner Bruna <wbruna@yahoo.com> [Mon, 06 Feb 2012 08:02:05 -0200] rev 16081
i18n-de: fix rst markup in command output (issue3247)
Sat, 04 Feb 2012 11:34:44 -0200 merge with i18n stable
Wagner Bruna <wbruna@yahoo.com> [Sat, 04 Feb 2012 11:34:44 -0200] rev 16080
merge with i18n stable
Sat, 04 Feb 2012 11:22:01 -0200 i18n-de: fix hg command rst markup and quoting (issue3247) stable
Wagner Bruna <wbruna@yahoo.com> [Sat, 04 Feb 2012 11:22:01 -0200] rev 16079
i18n-de: fix hg command rst markup and quoting (issue3247)
Sat, 04 Feb 2012 10:59:36 -0200 merge with i18n stable
Wagner Bruna <wbruna@yahoo.com> [Sat, 04 Feb 2012 10:59:36 -0200] rev 16078
merge with i18n stable
Sat, 04 Feb 2012 10:55:58 -0200 i18n-de: fix rst markup in command output (issue3247) stable
Wagner Bruna <wbruna@yahoo.com> [Sat, 04 Feb 2012 10:55:58 -0200] rev 16077
i18n-de: fix rst markup in command output (issue3247)
Sun, 05 Feb 2012 22:58:31 +0900 windows: use 'str.replace()' instead of combination of split() and join()
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 05 Feb 2012 22:58:31 +0900] rev 16076
windows: use 'str.replace()' instead of combination of split() and join() 'str.replace()' is twice (or more) as fast as combination of split() and join(). combination of split() and join() in current 'util.pconvert()' implementation comes only from historical reason when win32mbcs extension was introduced.
Mon, 06 Feb 2012 12:16:29 +0900 largefiles: reduce redundant splitstandin/standin combination
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 06 Feb 2012 12:16:29 +0900] rev 16075
largefiles: reduce redundant splitstandin/standin combination assumptions: - 'lfutil.splitstandin(f)' strips 'f' of '.hglf/', if it can - 'lfile(f)' examines 'lfutil.standin(f) in manifest' - 'lfutil.standin(f)' adds '.hglf/' to 'f' and - 'f' should start with '.hglf/' there, because it is already examined by 'lfutil.isstandin(f)' then: lfile(lfutil.splitstandin(f)) => lfile(<f without '.hglf/'>) => lfutil.standin(<f without '.hglf/'>) in manifest => <<f without '.hglf/'> with '.hglf/'> in manifest => f in manifest
Mon, 06 Feb 2012 12:16:29 +0900 largefiles: reduce OR-ing of same conditions
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 06 Feb 2012 12:16:29 +0900] rev 16074
largefiles: reduce OR-ing of same conditions
Mon, 06 Feb 2012 15:10:01 -0600 subrepo: rewrite handling of subrepo state at commit (issue2403)
Matt Mackall <mpm@selenic.com> [Mon, 06 Feb 2012 15:10:01 -0600] rev 16073
subrepo: rewrite handling of subrepo state at commit (issue2403) When the contents of .hgsubstate are stale (either because they've manually been tweaked or partial updates have confused it), we get confused about whether it actually needs committing. So instead, we actively consult the parent's substate and compare it the actual current state when deciding whether it needs committing. Side effect: lots of "committing subrepo" messages that didn't correspond with real commits disappear. This change is fairly invasive for a fairly obscure condition, so it's kept on the default branch.
Mon, 06 Feb 2012 15:00:08 -0600 subrepo: add basestate method
Matt Mackall <mpm@selenic.com> [Mon, 06 Feb 2012 15:00:08 -0600] rev 16072
subrepo: add basestate method This will allow us to sort out what's going on with state .hgsubstate files more precisely.
Fri, 03 Feb 2012 23:27:17 +0000 bdiff: fix malloc(0) issue in fixws() stable
Jim Hague <jim.hague@acm.org> [Fri, 03 Feb 2012 23:27:17 +0000] rev 16071
bdiff: fix malloc(0) issue in fixws() If fixws() is called on a zero-length string, malloc(0) is called and expected to return a pointer. Which it does on e.g. Linux. AIX returns NULL, which it is also legal, but the malloc() is then assumed to have failed. So ensure a valid pointer is always returned.
Mon, 06 Feb 2012 14:37:49 +0900 forget: show warning messages for forgetting in subrepo correctly stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 06 Feb 2012 14:37:49 +0900] rev 16070
forget: show warning messages for forgetting in subrepo correctly in 'cmdutil.forget()': for f in match.files(): if match.exact(f) or not explicitonly: .... is equal to: for f in match.files(): if True: .... because 'f' from 'match.files()' should 'match.exact(f)': - 'match.files()' returns 'self._files' - 'match.exact(f)' examines 'f in self._fmap', - 'self._fmap' of match is 'set(self._files)' then, 'explicitonly' wants to suppress warning messges, if it is true (= 'cmdutil.forget()' is invoked from 'subrepo.forget()'). so, current code should be fixed as: if not explicitonly: for f in match.files(): ....
Sat, 04 Feb 2012 00:02:05 +0000 tests: fix command line overflow on ksh stable
Jim Hague <jim.hague@acm.org> [Sat, 04 Feb 2012 00:02:05 +0000] rev 16069
tests: fix command line overflow on ksh "<command> `hg manifest`" overflows the puny 1024 byte command line length limit on AIX default shell ksh. Replace with "hg manifest | xargs <command>".
Sun, 05 Feb 2012 22:58:31 +0900 use util.localpath() instead of 'str.replace()' to unify path conversion stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 05 Feb 2012 22:58:31 +0900] rev 16068
use util.localpath() instead of 'str.replace()' to unify path conversion
Sun, 05 Feb 2012 22:58:31 +0900 i18n: use util.pconvert() instead of 'str.replace()' for problematic encoding stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 05 Feb 2012 22:58:31 +0900] rev 16067
i18n: use util.pconvert() instead of 'str.replace()' for problematic encoding some problematic encodings use backslash as part of multi-byte characters. util.pconvert() can treat strings in such encodings correctly, if win32mbcs is enabled, but str.replace() can not.
Sun, 05 Feb 2012 22:58:31 +0900 i18n: use util.pconvert() instead of 'str.replace()' for problematic encoding stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 05 Feb 2012 22:58:31 +0900] rev 16066
i18n: use util.pconvert() instead of 'str.replace()' for problematic encoding some problematic encodings use backslash as part of multi-byte characters. util.pconvert() can treat strings in such encodings correctly, if win32mbcs is enabled, but str.replace() can not.
Fri, 03 Feb 2012 15:45:13 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 03 Feb 2012 15:45:13 -0600] rev 16065
merge with stable
Fri, 03 Feb 2012 19:47:09 +0100 mq: make qprev return the previous applied patch (issue3245) stable
Patrick Mezard <pmezard@gmail.com> [Fri, 03 Feb 2012 19:47:09 +0100] rev 16064
mq: make qprev return the previous applied patch (issue3245) The current behaviour is to return the previous one in the series but at the same time the implementation is buggy because it does not take guarded patches in account.
Fri, 03 Feb 2012 19:38:31 +0100 mq: fix qnext when all remaining patches are guarded stable
Patrick Mezard <pmezard@gmail.com> [Fri, 03 Feb 2012 19:38:31 +0100] rev 16063
mq: fix qnext when all remaining patches are guarded When all remaining patches are guarded, qnext used to return the last of the queue anyway.
Thu, 02 Feb 2012 10:15:13 +0100 convert/bzr: test tags conversion
Patrick Mezard <pmezard@gmail.com> [Thu, 02 Feb 2012 10:15:13 +0100] rev 16062
convert/bzr: test tags conversion
Thu, 02 Feb 2012 10:15:13 +0100 convert/bzr: handle empty bzr repositories (issue3233)
Patrick Mezard <pmezard@gmail.com> [Thu, 02 Feb 2012 10:15:13 +0100] rev 16061
convert/bzr: handle empty bzr repositories (issue3233)
Thu, 02 Feb 2012 10:15:12 +0100 convert/bzr: convert all branches (issue3229) (BC)
Patrick Mezard <pmezard@gmail.com> [Thu, 02 Feb 2012 10:15:12 +0100] rev 16060
convert/bzr: convert all branches (issue3229) (BC) Instead of opening the target bzr checkout as a single branch, we try to open it as a repository. This has the following effects: - All branches are now converted - bzr branch names are preserved. Previously, the selected branch was always converted as 'default'. Branches without a name or 'trunk' are mapped to 'default branch. - Lightweight checkouts are no longer supported. Maybe they can be, I did not try to fix that at all. Implementation notes: - This was a quick fix, I have no knowledge of bzr API besides browsing 2.0.3 sources. - The fix was only tested on OSX against bzr 2.4.2. - Tags discovery does not handle collisions. I have no idea how tags work in bzr so maybe such collisions are not possible.
Thu, 02 Feb 2012 10:15:04 +0100 convert/bzr: expect unicode metadata, encode in UTF-8 (issue3232)
Patrick Mezard <pmezard@gmail.com> [Thu, 02 Feb 2012 10:15:04 +0100] rev 16059
convert/bzr: expect unicode metadata, encode in UTF-8 (issue3232) Before this patch, metadata and file names were interpreted like: - unicode objects were converted to UTF-8 - non unicode objects were left unchanged Looking at the code and bzr being known for transcoding filenames, we expect everything to be returned as unicode objects, and we want to encode them in UTF-8, like the subversion source does. To do that, we just remove the custom implementation of .recode().
Fri, 03 Feb 2012 19:23:13 +0100 test-mq: fix sed call on OSX stable
Patrick Mezard <pmezard@gmail.com> [Fri, 03 Feb 2012 19:23:13 +0100] rev 16058
test-mq: fix sed call on OSX - The regular sed on OSX wants: -i "" not -i"" - GNU sed wants: -i"" not -i "" Backups are fine.
Mon, 30 Jan 2012 00:05:28 +0100 mq: rename secretcommit to newcommit
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 30 Jan 2012 00:05:28 +0100] rev 16057
mq: rename secretcommit to newcommit This function create secret changeset only when mq.secret is true
Wed, 01 Feb 2012 16:28:35 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 01 Feb 2012 16:28:35 -0600] rev 16056
merge with stable
Sat, 21 Jan 2012 15:17:39 +0200 i18n-de: update po and remove fuzzies
Fabian Kreutz <fabian.kreutz@qvantel.com> [Sat, 21 Jan 2012 15:17:39 +0200] rev 16055
i18n-de: update po and remove fuzzies
Sat, 21 Jan 2012 13:49:46 +0200 i18n-de: Rework and fixes continued
Fabian Kreutz <fabian.kreutz@qvantel.com> [Sat, 21 Jan 2012 13:49:46 +0200] rev 16054
i18n-de: Rework and fixes continued
Wed, 01 Feb 2012 14:23:58 -0600 Added signature for changeset 2aa5b51f310f stable
Matt Mackall <mpm@selenic.com> [Wed, 01 Feb 2012 14:23:58 -0600] rev 16053
Added signature for changeset 2aa5b51f310f
Wed, 01 Feb 2012 14:23:55 -0600 Added tag 2.1 for changeset 2aa5b51f310f stable
Matt Mackall <mpm@selenic.com> [Wed, 01 Feb 2012 14:23:55 -0600] rev 16052
Added tag 2.1 for changeset 2aa5b51f310f
Wed, 01 Feb 2012 14:17:26 -0600 phases: don't complain if cset is already public on pushkey (issue3230) stable 2.1
Matt Mackall <mpm@selenic.com> [Wed, 01 Feb 2012 14:17:26 -0600] rev 16051
phases: don't complain if cset is already public on pushkey (issue3230)
Wed, 01 Feb 2012 17:59:51 -0200 i18n-pt_BR: synchronized with 140b6282ac79 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 01 Feb 2012 17:59:51 -0200] rev 16050
i18n-pt_BR: synchronized with 140b6282ac79
Wed, 01 Feb 2012 13:50:45 -0600 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Wed, 01 Feb 2012 13:50:45 -0600] rev 16049
merge with i18n
Wed, 01 Feb 2012 12:20:10 +0100 mq: prevent rewriting operation on public changeset stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 01 Feb 2012 12:20:10 +0100] rev 16048
mq: prevent rewriting operation on public changeset The following operation are denied if the mq changeset is public * qrefresh * qpop * qfold note: qimport was already denied.
Tue, 31 Jan 2012 18:11:08 -0200 i18n-pt_BR: miscellaneous spelling and wording fixes stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 31 Jan 2012 18:11:08 -0200] rev 16047
i18n-pt_BR: miscellaneous spelling and wording fixes
Tue, 31 Jan 2012 19:44:09 +0900 i18n-ja: synchronized with 0f99e709ce08 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 31 Jan 2012 19:44:09 +0900] rev 16046
i18n-ja: synchronized with 0f99e709ce08
Tue, 31 Jan 2012 12:30:54 +0400 i18n-ru: synchronized with c0b2986b37b8; public phase name changed stable
Alexander Sauta <demosito@gmail.com> [Tue, 31 Jan 2012 12:30:54 +0400] rev 16045
i18n-ru: synchronized with c0b2986b37b8; public phase name changed
Mon, 30 Jan 2012 20:17:59 -0200 i18n-pt_BR: synchronized with c0b2986b37b8 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 30 Jan 2012 20:17:59 -0200] rev 16044
i18n-pt_BR: synchronized with c0b2986b37b8
Tue, 31 Jan 2012 23:13:04 -0600 qpush: avoid trying to manage existing history (issue2218) stable
Matt Mackall <mpm@selenic.com> [Tue, 31 Jan 2012 23:13:04 -0600] rev 16043
qpush: avoid trying to manage existing history (issue2218)
Tue, 31 Jan 2012 17:25:37 -0600 bundlerepo: try to find containing repo on creation (issue1812) stable
Matt Mackall <mpm@selenic.com> [Tue, 31 Jan 2012 17:25:37 -0600] rev 16042
bundlerepo: try to find containing repo on creation (issue1812)
Mon, 30 Jan 2012 16:37:15 -0600 phases: add resync example to help topic stable
Matt Mackall <mpm@selenic.com> [Mon, 30 Jan 2012 16:37:15 -0600] rev 16041
phases: add resync example to help topic
Mon, 30 Jan 2012 16:04:14 -0600 mq: fix secret description in help stable
Matt Mackall <mpm@selenic.com> [Mon, 30 Jan 2012 16:04:14 -0600] rev 16040
mq: fix secret description in help
Mon, 30 Jan 2012 16:01:54 -0600 pull: return 1 when no changes found (BC) stable
Matt Mackall <mpm@selenic.com> [Mon, 30 Jan 2012 16:01:54 -0600] rev 16039
pull: return 1 when no changes found (BC) Currently we have the following return codes if nothing is found: commit incoming outgoing pull push intended 1 1 1 1 1 documented 1 1 1 0 1 actual 1 1 1 0 1 This makes pull agree with the rest of the table and makes it easy to detect "nothing was pulled" in scripts.
Mon, 30 Jan 2012 15:56:35 -0600 push: don't treat bookmark as a found change stable
Matt Mackall <mpm@selenic.com> [Mon, 30 Jan 2012 15:56:35 -0600] rev 16038
push: don't treat bookmark as a found change Treating bookmarks as a found change results in confusing documentation or output and is less useful for scripting.
Mon, 30 Jan 2012 14:44:01 -0600 glossary: add phase terms stable
Matt Mackall <mpm@selenic.com> [Mon, 30 Jan 2012 14:44:01 -0600] rev 16037
glossary: add phase terms
Mon, 30 Jan 2012 14:14:18 -0600 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Mon, 30 Jan 2012 14:14:18 -0600] rev 16036
merge with i18n
Mon, 30 Jan 2012 16:28:27 +0100 i18n-sv: snchronized with ed9f40bc346f stable
Jens Bäckman <jens.backman@gmail.com> [Mon, 30 Jan 2012 16:28:27 +0100] rev 16035
i18n-sv: snchronized with ed9f40bc346f
Mon, 30 Jan 2012 13:04:13 +0400 i18n-ru: phases help translated stable
Alexander Sauta <demosito@gmail.com> [Mon, 30 Jan 2012 13:04:13 +0400] rev 16034
i18n-ru: phases help translated
Mon, 30 Jan 2012 11:52:38 +0400 i18n-ru: minor corrections on unclear strings stable
Alexander Sauta <demosito@gmail.com> [Mon, 30 Jan 2012 11:52:38 +0400] rev 16033
i18n-ru: minor corrections on unclear strings
Mon, 30 Jan 2012 02:48:03 +0700 i18n-ru: synchronized with 2605fc990725 stable
Andrei Polushin <polushin@gmail.com> [Mon, 30 Jan 2012 02:48:03 +0700] rev 16032
i18n-ru: synchronized with 2605fc990725
Mon, 30 Jan 2012 02:07:04 +0700 i18n-ru: verifying uncertain translations. stable
Andrei Polushin <polushin@gmail.com> [Mon, 30 Jan 2012 02:07:04 +0700] rev 16031
i18n-ru: verifying uncertain translations.
Mon, 30 Jan 2012 17:46:15 +0100 phases: allow phase name in phases.new-commit settings stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 30 Jan 2012 17:46:15 +0100] rev 16030
phases: allow phase name in phases.new-commit settings Before this commit only phase index where accepted
Mon, 30 Jan 2012 15:17:08 +0100 qfinish: do not set secret changeset to draft if mq.secret=false stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 30 Jan 2012 15:17:08 +0100] rev 16029
qfinish: do not set secret changeset to draft if mq.secret=false If mq.secret=false, mq should not touch phase
Mon, 30 Jan 2012 17:39:05 +0100 mq: take mq.secret configuration into account when picking the default phase stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 30 Jan 2012 17:39:05 +0100] rev 16028
mq: take mq.secret configuration into account when picking the default phase
Mon, 30 Jan 2012 17:37:45 +0100 qimport: when mq.secret=True set qimported revision as secret stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 30 Jan 2012 17:37:45 +0100] rev 16027
qimport: when mq.secret=True set qimported revision as secret
Mon, 30 Jan 2012 17:36:30 +0100 qrefresh: keep changeset phase during refresh stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 30 Jan 2012 17:36:30 +0100] rev 16026
qrefresh: keep changeset phase during refresh
Mon, 30 Jan 2012 17:33:09 +0100 phases: write default phase data as soon as possible. stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 30 Jan 2012 17:33:09 +0100] rev 16025
phases: write default phase data as soon as possible. Marks phase data as dirty when computing default phase. Actual writing is done when the lock is released. So, read only operation don't write phase data because they don't lock the repo.
Mon, 30 Jan 2012 18:06:57 +0100 phase: accept old style revision specification stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 30 Jan 2012 18:06:57 +0100] rev 16024
phase: accept old style revision specification
Mon, 30 Jan 2012 11:32:09 -0600 push: return 1 if no changes found (issue3228) stable
Matt Mackall <mpm@selenic.com> [Mon, 30 Jan 2012 11:32:09 -0600] rev 16023
push: return 1 if no changes found (issue3228) Currently we have the following return codes if nothing is found: commit incoming outgoing pull push intended 1 1 1 1 1 documented 1 1 1 0 1 actual 1 1 1 0 0 This fixes the lower-right entry.
Mon, 30 Jan 2012 11:26:20 -0600 push: more precise failure check on subrepo push stable
Matt Mackall <mpm@selenic.com> [Mon, 30 Jan 2012 11:26:20 -0600] rev 16022
push: more precise failure check on subrepo push This will let us distinguish between nothing to push and push failed
Mon, 30 Jan 2012 11:23:17 -0600 push: return 0 when updating bookmarks stable
Matt Mackall <mpm@selenic.com> [Mon, 30 Jan 2012 11:23:17 -0600] rev 16021
push: return 0 when updating bookmarks
Mon, 30 Jan 2012 11:15:34 -0600 push: fix coding errors in unused branch stable
Matt Mackall <mpm@selenic.com> [Mon, 30 Jan 2012 11:15:34 -0600] rev 16020
push: fix coding errors in unused branch This branch will get re-enabled in a subsequent fix
Sun, 29 Jan 2012 14:07:45 -0600 bookmarks: move current bookmark on update -u and bare pull -u (issue3222) stable
Matt Mackall <mpm@selenic.com> [Sun, 29 Jan 2012 14:07:45 -0600] rev 16019
bookmarks: move current bookmark on update -u and bare pull -u (issue3222) Currently, this won't update when a #branch spec is in the URL
Sun, 29 Jan 2012 13:36:10 -0600 phases: fix verify with secret csets stable
Matt Mackall <mpm@selenic.com> [Sun, 29 Jan 2012 13:36:10 -0600] rev 16018
phases: fix verify with secret csets Verify uses repo.cancopy() to detect whether a repo is a plain old local repo, so it was giving a confusing error message when secret changesets were present.
Sun, 29 Jan 2012 12:59:21 -0600 mq: add secret setting stable
Matt Mackall <mpm@selenic.com> [Sun, 29 Jan 2012 12:59:21 -0600] rev 16017
mq: add secret setting
Sun, 29 Jan 2012 12:59:11 -0600 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Sun, 29 Jan 2012 12:59:11 -0600] rev 16016
merge with i18n
Sat, 28 Jan 2012 09:05:08 -0200 i18n-pt_BR: synchronized with f2c49d9dee57 stable
Wagner Bruna <wbruna@yahoo.com> [Sat, 28 Jan 2012 09:05:08 -0200] rev 16015
i18n-pt_BR: synchronized with f2c49d9dee57
Fri, 27 Jan 2012 03:00:32 +0100 tests: don't rely on 'false' exit code in test-run-tests.t stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 27 Jan 2012 03:00:32 +0100] rev 16014
tests: don't rely on 'false' exit code in test-run-tests.t On Solaris: $ sh -c 'false ; echo $?' 255
Fri, 27 Jan 2012 03:00:03 +0100 tests: don't use alias stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 27 Jan 2012 03:00:03 +0100] rev 16013
tests: don't use alias alias doesn't work in Solaris sh.
Fri, 27 Jan 2012 02:59:59 +0100 tests: don't include plain 'diff -U0' content in test-diff-unified.t stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 27 Jan 2012 02:59:59 +0100] rev 16012
tests: don't include plain 'diff -U0' content in test-diff-unified.t The only purpose of 'diff -U0' was to show that 'hg diff -U0' did almost the same. Unfortunately 'diff -U0' on Solaris gives incorrect line numbers. Masking it with globs wouldn't it make sense, so removing it is the best solution.
Fri, 27 Jan 2012 18:43:41 -0600 help: add examples to phases topic stable
Matt Mackall <mpm@selenic.com> [Fri, 27 Jan 2012 18:43:41 -0600] rev 16011
help: add examples to phases topic
Fri, 27 Jan 2012 13:12:56 -0600 update: note updated bookmark stable
Kevin Bullock <kbullock@ringworld.org> [Fri, 27 Jan 2012 13:12:56 -0600] rev 16010
update: note updated bookmark This brings update in line with pull: we notify the user when an action indirectly updates a bookmark.
Fri, 27 Jan 2012 14:19:32 -0600 resolve: mention merge-tools topic in help stable
Augie Fackler <durin42@gmail.com> [Fri, 27 Jan 2012 14:19:32 -0600] rev 16009
resolve: mention merge-tools topic in help
Fri, 27 Jan 2012 22:29:58 +0900 revset: add tests for 'remote()' predicate stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 27 Jan 2012 22:29:58 +0900] rev 16008
revset: add tests for 'remote()' predicate
Fri, 27 Jan 2012 22:29:58 +0900 revset: fix documentation for 'remote()' predicate stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 27 Jan 2012 22:29:58 +0900] rev 16007
revset: fix documentation for 'remote()' predicate current documentation for 'remote()' predicate is wrong about specification of parameters. there are 3 patterns: # of param: id: remote: - 0 current branch "defult" remote - 1 specified "defult" remote - 2 specified specified
Fri, 27 Jan 2012 22:29:58 +0900 revset: fix 'remote()' failure when remote repo has more revs than local stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 27 Jan 2012 22:29:58 +0900] rev 16006
revset: fix 'remote()' failure when remote repo has more revs than local current 'remote()' implementation uses 'r' variable, even if it is not initialized when 'if n in repo' is not true. this causes unexpected exception.
Fri, 27 Jan 2012 12:52:13 -0200 help/config: fix help command markup stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 27 Jan 2012 12:52:13 -0200] rev 16005
help/config: fix help command markup
Fri, 27 Jan 2012 18:43:31 -0600 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Fri, 27 Jan 2012 18:43:31 -0600] rev 16004
merge with i18n
Fri, 27 Jan 2012 12:25:02 +0400 i18n-ru: synchronized with bf502ccc46d7; fuzzies removed stable
Alexander Sauta <demosito@gmail.com> [Fri, 27 Jan 2012 12:25:02 +0400] rev 16003
i18n-ru: synchronized with bf502ccc46d7; fuzzies removed
Thu, 26 Jan 2012 16:56:11 +0400 i18n-ru: fix typos in `resolve` help stable
Nikolaj Sjujskij <sterkrig@myopera.com> [Thu, 26 Jan 2012 16:56:11 +0400] rev 16002
i18n-ru: fix typos in `resolve` help * help entry is called 'merge-tools', not 'merge-tool'; * envvar is called HGMERGE, not HGEMERGT.
Thu, 26 Jan 2012 20:34:57 -0600 merge: defer symlink flag merging to filemerge (issue3200) stable
Matt Mackall <mpm@selenic.com> [Thu, 26 Jan 2012 20:34:57 -0600] rev 16001
merge: defer symlink flag merging to filemerge (issue3200) Previously, we could change a normal file into a corrupt symlink when trying to merge a symlink flag. Now, we leave the flag alone and let filemerge deal with it (usually by a prompt). We also drop a redundant flag setting after filemerge (now dealt with by ms.resolve) that would cause similar corruption.
Thu, 26 Jan 2012 17:54:52 -0600 help: fix publish option spelling in phases topic stable
Matt Mackall <mpm@selenic.com> [Thu, 26 Jan 2012 17:54:52 -0600] rev 16000
help: fix publish option spelling in phases topic
Thu, 26 Jan 2012 17:54:22 -0600 help: add missing phase config items to config topic stable
Matt Mackall <mpm@selenic.com> [Thu, 26 Jan 2012 17:54:22 -0600] rev 15999
help: add missing phase config items to config topic
Thu, 26 Jan 2012 17:23:43 -0200 help/phases: remove trailing whitespace stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 26 Jan 2012 17:23:43 -0200] rev 15998
help/phases: remove trailing whitespace
Thu, 26 Jan 2012 11:23:15 -0600 sslutil: more helpful fingerprint mismatch message stable
Matt Mackall <mpm@selenic.com> [Thu, 26 Jan 2012 11:23:15 -0600] rev 15997
sslutil: more helpful fingerprint mismatch message This will aid debugging for users of sites that renew certs.
Thu, 26 Jan 2012 11:23:14 -0600 help: add phases topic stable
Matt Mackall <mpm@selenic.com> [Thu, 26 Jan 2012 11:23:14 -0600] rev 15996
help: add phases topic
Thu, 26 Jan 2012 12:09:14 -0200 i18n-pt_BR: synchronized with 0b05e0bfdc1c stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 26 Jan 2012 12:09:14 -0200] rev 15995
i18n-pt_BR: synchronized with 0b05e0bfdc1c
Wed, 25 Jan 2012 17:14:10 -0600 copies: remove stray print stable
Matt Mackall <mpm@selenic.com> [Wed, 25 Jan 2012 17:14:10 -0600] rev 15994
copies: remove stray print
Wed, 25 Jan 2012 17:14:08 -0600 scmutil: unify some 'no changes found' messages stable
Matt Mackall <mpm@selenic.com> [Wed, 25 Jan 2012 17:14:08 -0600] rev 15993
scmutil: unify some 'no changes found' messages This keeps the wording more consistent for secret csets
Wed, 25 Jan 2012 19:41:34 +0100 outgoing: display info about secret changets while no sharable changeset found stable
Alain Leufroy <alain.leufroyATgmailMYDOTcom> [Wed, 25 Jan 2012 19:41:34 +0100] rev 15992
outgoing: display info about secret changets while no sharable changeset found
Wed, 25 Jan 2012 19:05:16 +0100 bundle: display info about secret changets while no sharable changeset found stable
Alain Leufroy <alain.leufroyATgmailMYDOTcom> [Wed, 25 Jan 2012 19:05:16 +0100] rev 15991
bundle: display info about secret changets while no sharable changeset found
Mon, 23 Jan 2012 12:26:01 -0600 test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a stable
Augie Fackler <durin42@gmail.com> [Mon, 23 Jan 2012 12:26:01 -0600] rev 15990
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
Thu, 26 Jan 2012 00:21:55 +0200 test-commandserver: test that phase data is being refreshed stable
Idan Kamara <idankk86@gmail.com> [Thu, 26 Jan 2012 00:21:55 +0200] rev 15989
test-commandserver: test that phase data is being refreshed
Thu, 26 Jan 2012 00:21:54 +0200 localrepo: delete _phaserev when invalidating caches stable
Idan Kamara <idankk86@gmail.com> [Thu, 26 Jan 2012 00:21:54 +0200] rev 15988
localrepo: delete _phaserev when invalidating caches
Thu, 26 Jan 2012 00:21:53 +0200 localrepo: fix phaseroots filecache definition stable
Idan Kamara <idankk86@gmail.com> [Thu, 26 Jan 2012 00:21:53 +0200] rev 15987
localrepo: fix phaseroots filecache definition it's in .hg/store
Tue, 24 Jan 2012 19:49:30 +0100 discovery: fix regression when checking heads for pre 1.4 client (issue3218) stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 24 Jan 2012 19:49:30 +0100] rev 15986
discovery: fix regression when checking heads for pre 1.4 client (issue3218) This code is not run by the test suite and silly name error were lurking here.
Wed, 25 Jan 2012 14:06:04 -0600 help: mark strings for translation stable
Jens Bäckman <jens.backman@gmail.com> [Wed, 25 Jan 2012 14:06:04 -0600] rev 15985
help: mark strings for translation
Wed, 25 Jan 2012 20:03:46 +0100 bookmarks: respect --debug during incoming/outgoing stable
David Soria Parra <dsp@php.net> [Wed, 25 Jan 2012 20:03:46 +0100] rev 15984
bookmarks: respect --debug during incoming/outgoing
Wed, 25 Jan 2012 16:52:16 +0100 largefiles: fix revert on missing largefile (issue3217) stable
Na'Tosha Bard <natosha@unity3d.com> [Wed, 25 Jan 2012 16:52:16 +0100] rev 15983
largefiles: fix revert on missing largefile (issue3217)
Wed, 25 Jan 2012 14:10:01 +0100 largefiles: fix transplant for all cases (issue3192) stable
Na'Tosha Bard <natosha@unity3d.com> [Wed, 25 Jan 2012 14:10:01 +0100] rev 15982
largefiles: fix transplant for all cases (issue3192)
Wed, 25 Jan 2012 03:01:19 +0700 i18n-ru: synchronized with 9f2ed48f8cda stable
Andrei Polushin <polushin@gmail.com> [Wed, 25 Jan 2012 03:01:19 +0700] rev 15981
i18n-ru: synchronized with 9f2ed48f8cda
Wed, 25 Jan 2012 10:13:06 +0100 i18n-sv: translated phase stable
Jens Bäckman <jens.backman@gmail.com> [Wed, 25 Jan 2012 10:13:06 +0100] rev 15980
i18n-sv: translated phase
Wed, 25 Jan 2012 09:33:48 +0100 i18n-sv: translating strings for add, annotate, debuginstall stable
Jens Bäckman <jens.backman@gmail.com> [Wed, 25 Jan 2012 09:33:48 +0100] rev 15979
i18n-sv: translating strings for add, annotate, debuginstall
Wed, 25 Jan 2012 08:48:52 +0100 i18n-sv: synchronized with c2e6c5ef4555 stable
Jens Bäckman <jens.backman@gmail.com> [Wed, 25 Jan 2012 08:48:52 +0100] rev 15978
i18n-sv: synchronized with c2e6c5ef4555
Tue, 24 Jan 2012 17:17:37 -0600 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Tue, 24 Jan 2012 17:17:37 -0600] rev 15977
merge with i18n
Tue, 24 Jan 2012 17:16:29 -0600 copies: eliminate criss-crosses when chaining stable
Matt Mackall <mpm@selenic.com> [Tue, 24 Jan 2012 17:16:29 -0600] rev 15976
copies: eliminate criss-crosses when chaining Before the copies refactoring, we declared that if a and b were present in source and destination, we ignored copies between them. The refactored code could however report b was a copy of a and vice versa in a situation where we looked for differences between two identical changesets that copy a to b. y / x \ y'
Mon, 23 Jan 2012 16:12:32 -0200 i18n-pt_BR: synchronized with f7c8d6ee6056 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 23 Jan 2012 16:12:32 -0200] rev 15975
i18n-pt_BR: synchronized with f7c8d6ee6056
Mon, 23 Jan 2012 16:11:37 -0200 merge with i18n stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 23 Jan 2012 16:11:37 -0200] rev 15974
merge with i18n
Fri, 20 Jan 2012 11:11:36 +0100 i18n-sv: synchronized with 7ed056f1e97d stable
Jens Bäckman <jens.backman@gmail.com> [Fri, 20 Jan 2012 11:11:36 +0100] rev 15973
i18n-sv: synchronized with 7ed056f1e97d
Sat, 21 Jan 2012 21:39:27 -0600 mq: pass qbase node instead of mq statusentry in phasedefaults stable
Augie Fackler <durin42@gmail.com> [Sat, 21 Jan 2012 21:39:27 -0600] rev 15972
mq: pass qbase node instead of mq statusentry in phasedefaults This was breaking my remotebranches extension in a completely mystifying way, because repo.lookup was failing to resolve the statusentry. I'm not sure how this works absent my remotebranches extension, but doing it this way looks more correct and doesn't break anything.
Sat, 21 Jan 2012 23:50:58 +0100 patch: a little bit more robust line counting on diff --stat (issue3183) stable
Jesus Espino Garcia <jesus.espino@kaleidos.net> [Sat, 21 Jan 2012 23:50:58 +0100] rev 15971
patch: a little bit more robust line counting on diff --stat (issue3183)
Sat, 21 Jan 2012 13:31:41 +0100 convert: subversion convert abort on revision not found (issue 3205) stable
Jesus Espino Garcia <jesus.espino@kaleidos.net> [Sat, 21 Jan 2012 13:31:41 +0100] rev 15970
convert: subversion convert abort on revision not found (issue 3205)
Sat, 21 Jan 2012 00:40:18 +0100 bash_completion: added -o filename option to _hg_status (issue3101) stable
Jesus Espino Garcia <jesus.espino@kaleidos.net> [Sat, 21 Jan 2012 00:40:18 +0100] rev 15969
bash_completion: added -o filename option to _hg_status (issue3101)
Sun, 22 Jan 2012 21:30:09 +0100 phase: alway return a value stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 22 Jan 2012 21:30:09 +0100] rev 15968
phase: alway return a value With the previous code, the phase command was returning None when displaying phase and 0 or 1 when moving them. This seemed an bit odd and displaying phase return 0 too now.
Mon, 23 Jan 2012 13:24:32 +0100 largefiles: fix addremove when no largefiles are specified stable
Na'Tosha Bard <natosha@unity3d.com> [Mon, 23 Jan 2012 13:24:32 +0100] rev 15967
largefiles: fix addremove when no largefiles are specified
Fri, 20 Jan 2012 23:52:31 -0600 revset: include the correct first ancestor change for follow(file) stable
Matt Mackall <mpm@selenic.com> [Fri, 20 Jan 2012 23:52:31 -0600] rev 15966
revset: include the correct first ancestor change for follow(file) Previously we always included '.', which may not touch a file. Instead, find the file revision present in '.' and add its linkrev. This matches the results of 'hg log --follow file'.
Fri, 20 Jan 2012 23:10:13 -0600 revset: remove unreferenced followfile function stable
Matt Mackall <mpm@selenic.com> [Fri, 20 Jan 2012 23:10:13 -0600] rev 15965
revset: remove unreferenced followfile function
Fri, 20 Jan 2012 23:05:04 -0600 revsets: provide contexts for filesets stable
Matt Mackall <mpm@selenic.com> [Fri, 20 Jan 2012 23:05:04 -0600] rev 15964
revsets: provide contexts for filesets Before this change, revsets containing fileset patterns failed. This allows queries like: hg log -r "contains('set: added() and symlink()')"
Fri, 20 Jan 2012 22:19:40 -0600 fileset: don't attempt to check data predicates against removed files stable
Matt Mackall <mpm@selenic.com> [Fri, 20 Jan 2012 22:19:40 -0600] rev 15963
fileset: don't attempt to check data predicates against removed files
Fri, 20 Jan 2012 19:22:09 -0600 revset: simplify help not about quoting stable
Matt Mackall <mpm@selenic.com> [Fri, 20 Jan 2012 19:22:09 -0600] rev 15962
revset: simplify help not about quoting
Fri, 20 Jan 2012 15:30:28 -0600 Added signature for changeset db33555eafea stable
Matt Mackall <mpm@selenic.com> [Fri, 20 Jan 2012 15:30:28 -0600] rev 15961
Added signature for changeset db33555eafea
Fri, 20 Jan 2012 15:30:25 -0600 Added tag 2.1-rc for changeset db33555eafea stable
Matt Mackall <mpm@selenic.com> [Fri, 20 Jan 2012 15:30:25 -0600] rev 15960
Added tag 2.1-rc for changeset db33555eafea
Fri, 20 Jan 2012 15:25:39 -0600 bookmarks: correct correction of -i stable 2.1-rc
Matt Mackall <mpm@selenic.com> [Fri, 20 Jan 2012 15:25:39 -0600] rev 15959
bookmarks: correct correction of -i
Fri, 20 Jan 2012 23:05:14 +0200 commands: drop exclamation mark in abort message stable
Idan Kamara <idankk86@gmail.com> [Fri, 20 Jan 2012 23:05:14 +0200] rev 15958
commands: drop exclamation mark in abort message
Thu, 19 Jan 2012 16:10:26 -0600 update: note ways to avoid moving bookmark stable
Kevin Bullock <kbullock@ringworld.org> [Thu, 19 Jan 2012 16:10:26 -0600] rev 15957
update: note ways to avoid moving bookmark
Fri, 20 Jan 2012 21:21:13 +0100 push: prevent moving phases outside of the pushed subset stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 20 Jan 2012 21:21:13 +0100] rev 15956
push: prevent moving phases outside of the pushed subset
Fri, 20 Jan 2012 19:41:18 +0100 discovery: ensure that missingheads are always heads of everything we tried stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 20 Jan 2012 19:41:18 +0100] rev 15955
discovery: ensure that missingheads are always heads of everything we tried This only alter the third block executed when: * repo have secret changeset * onlyheads is not None In other case findcommonoutgoing already had this behavior
Fri, 20 Jan 2012 19:23:53 +0100 phase: extracts heads computation logics from analyzeremotephases stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 20 Jan 2012 19:23:53 +0100] rev 15954
phase: extracts heads computation logics from analyzeremotephases
Fri, 20 Jan 2012 19:18:09 +0100 phase: fix warning text from invalid remote phase stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 20 Jan 2012 19:18:09 +0100] rev 15953
phase: fix warning text from invalid remote phase add missing end of line and substitution.
Fri, 20 Jan 2012 18:45:29 +0100 mq-safety: don't apply safety on non-outgoing changeset stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 20 Jan 2012 18:45:29 +0100] rev 15952
mq-safety: don't apply safety on non-outgoing changeset When mq changeset are secret, they don't appear in outgoing and won't be pushed. So it's not necessary to abort the push. The checkpush call is protected by lock to prevent race on phase.
Fri, 20 Jan 2012 00:27:11 +0100 phases: properly register excluded changeset when revision are specified stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 20 Jan 2012 00:27:11 +0100] rev 15951
phases: properly register excluded changeset when revision are specified There was no other drawback than a bad UI message for now.
Fri, 20 Jan 2012 14:19:13 -0600 bookmarks: make -i summary simpler and more accurate stable
Matt Mackall <mpm@selenic.com> [Fri, 20 Jan 2012 14:19:13 -0600] rev 15950
bookmarks: make -i summary simpler and more accurate
Fri, 20 Jan 2012 14:18:51 -0600 revset: allow slashes in symbols stable
Matt Mackall <mpm@selenic.com> [Fri, 20 Jan 2012 14:18:51 -0600] rev 15949
revset: allow slashes in symbols suggested by Ryan Kelly
Fri, 20 Jan 2012 13:19:32 -0200 phases: do not mark debug message for translation stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 20 Jan 2012 13:19:32 -0200] rev 15948
phases: do not mark debug message for translation
Fri, 20 Jan 2012 13:10:01 -0200 templatekw: fix phase keywords stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 20 Jan 2012 13:10:01 -0200] rev 15947
templatekw: fix phase keywords
Fri, 20 Jan 2012 12:57:13 -0200 phases: fix typo in warning message stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 20 Jan 2012 12:57:13 -0200] rev 15946
phases: fix typo in warning message
Fri, 20 Jan 2012 12:04:45 -0200 rebase: drop uppercase in abort message stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 20 Jan 2012 12:04:45 -0200] rev 15945
rebase: drop uppercase in abort message
Fri, 02 Dec 2011 18:20:32 +0100 largefiles: add --normal option to hg add (issue3061) stable
Na'Tosha Bard <natosha@unity3d.com> [Fri, 02 Dec 2011 18:20:32 +0100] rev 15944
largefiles: add --normal option to hg add (issue3061)
Fri, 20 Jan 2012 11:56:12 +0100 largefiles: fix caching largefiles from an aliased repo (issue3212) stable
Na'Tosha Bard <natosha@unity3d.com> [Fri, 20 Jan 2012 11:56:12 +0100] rev 15943
largefiles: fix caching largefiles from an aliased repo (issue3212)
Sat, 14 Jan 2012 01:56:27 +0100 run-tests: expand user in --with-hg stable
Mads Kiilerich <mads@kiilerich.com> [Sat, 14 Jan 2012 01:56:27 +0100] rev 15942
run-tests: expand user in --with-hg This makes it possible to run: $ ./run-tests.py --with-hg=~/hg-bin/hg
Fri, 20 Jan 2012 01:24:16 +0100 tests: let run-tests.py default to use 'sh' in $PATH instead of '/bin/sh' stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 20 Jan 2012 01:24:16 +0100] rev 15941
tests: let run-tests.py default to use 'sh' in $PATH instead of '/bin/sh' This makes it easier to run tests on systems that have a usable sh in the search path but not in the standard location.
Sat, 14 Jan 2012 01:55:50 +0100 tests: add 'set -x' to the .t sh scripts in run-tests.py debug mode stable
Mads Kiilerich <mads@kiilerich.com> [Sat, 14 Jan 2012 01:55:50 +0100] rev 15940
tests: add 'set -x' to the .t sh scripts in run-tests.py debug mode This makes -d output much more readable when debugging the test framework or very strange test failures.
Thu, 19 Jan 2012 16:05:01 -0600 bookmarks: clarify help for -i/--inactive stable
Kevin Bullock <kbullock@ringworld.org> [Thu, 19 Jan 2012 16:05:01 -0600] rev 15939
bookmarks: clarify help for -i/--inactive
Fri, 20 Jan 2012 13:19:39 -0200 revset: fix typo in message stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 20 Jan 2012 13:19:39 -0200] rev 15938
revset: fix typo in message
Thu, 19 Jan 2012 14:34:32 -0600 merge default into stable for 2.1 code freeze stable
Matt Mackall <mpm@selenic.com> [Thu, 19 Jan 2012 14:34:32 -0600] rev 15937
merge default into stable for 2.1 code freeze
Thu, 19 Jan 2012 14:31:05 -0600 revset: add remote() predicate to lookup remote revisions
Matt Mackall <mpm@selenic.com> [Thu, 19 Jan 2012 14:31:05 -0600] rev 15936
revset: add remote() predicate to lookup remote revisions
Thu, 19 Jan 2012 14:07:48 -0600 bookmarks: automatically advance bookmark on naked update (BC) (issue2894)
Matt Mackall <mpm@selenic.com> [Thu, 19 Jan 2012 14:07:48 -0600] rev 15935
bookmarks: automatically advance bookmark on naked update (BC) (issue2894)
Thu, 19 Jan 2012 11:35:06 -0600 qimport: back out 2eec74d7ce95
Matt Mackall <mpm@selenic.com> [Thu, 19 Jan 2012 11:35:06 -0600] rev 15934
qimport: back out 2eec74d7ce95 This patch presumed mq csets must always be secret, which isn't yet established.
Thu, 19 Jan 2012 16:09:43 +0100 phases: only synchronize on common changeset when push fails
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 19 Jan 2012 16:09:43 +0100] rev 15933
phases: only synchronize on common changeset when push fails If push failed we should not expect the pushed changeset to exist on remote. The common set before the push is used for phase related operation instead of common + missing. Note: * We still pull phase data even if push fails * We still try to push data even if push fails (same than bookmark)
Thu, 19 Jan 2012 15:50:55 +0100 discovery: diet discovery.prepush from non-discovery code
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 19 Jan 2012 15:50:55 +0100] rev 15932
discovery: diet discovery.prepush from non-discovery code The ``discovery.prepush`` function was doing multiple things not related to discovery. This changeset move some code into the ``localrepo.push`` method. The old ``discovery.prepush`` function jobs is now restricted to checking for multple head creation. It was then renamed ``discovery.checkheads``. This new ``discovery.checkheads`` function may receive several other changes in the future but we are a bit too much near the freeze for a wider refactoring.
Thu, 19 Jan 2012 11:30:37 +0100 qfinish: set all qfinished patch as draft, not only qbase
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 19 Jan 2012 11:30:37 +0100] rev 15931
qfinish: set all qfinished patch as draft, not only qbase Fix a silly bug.
Thu, 19 Jan 2012 10:07:13 +0100 largefiles: test and simplify empty directory removal in remove
Patrick Mezard <pmezard@gmail.com> [Thu, 19 Jan 2012 10:07:13 +0100] rev 15930
largefiles: test and simplify empty directory removal in remove
Thu, 19 Jan 2012 02:14:06 +0100 tag: invalidate tag cache immediately after adding new tag (issue3210)
Mads Kiilerich <mads@kiilerich.com> [Thu, 19 Jan 2012 02:14:06 +0100] rev 15929
tag: invalidate tag cache immediately after adding new tag (issue3210) New tags were written to .hgtags / .hglocaltags without updating or invalidating the localrepo cache. Before afd459933d5f a lock was acquired soon after the new tags had been written, and that invalidated the cache so the new tags for example could be seen in pretxncommit hooks. With afd459933d5f the lock had already been acquired at this point and the missing cache invalidation was exposed. The tag caches will now explicitly and immediately be invalidated when new tags are added.
Wed, 18 Jan 2012 17:18:38 +0100 mq: ensure mq changesets are set to secret when no phase data are found
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 17:18:38 +0100] rev 15928
mq: ensure mq changesets are set to secret when no phase data are found
Tue, 17 Jan 2012 02:26:00 +0100 mq: qimporting revision set them to secret
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 17 Jan 2012 02:26:00 +0100] rev 15927
mq: qimporting revision set them to secret
Wed, 18 Jan 2012 16:53:49 +0100 mq: have mq create secret changeset only
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 16:53:49 +0100] rev 15926
mq: have mq create secret changeset only
Wed, 18 Jan 2012 20:00:48 -0600 wireproto: refuse to lookup secret csets
Matt Mackall <mpm@selenic.com> [Wed, 18 Jan 2012 20:00:48 -0600] rev 15925
wireproto: refuse to lookup secret csets
Wed, 18 Jan 2012 19:16:01 -0600 qclone: ignore local qbase if secret
Matt Mackall <mpm@selenic.com> [Wed, 18 Jan 2012 19:16:01 -0600] rev 15924
qclone: ignore local qbase if secret
Wed, 18 Jan 2012 18:14:55 -0600 rebase: only advance phase on successful commit
Matt Mackall <mpm@selenic.com> [Wed, 18 Jan 2012 18:14:55 -0600] rev 15923
rebase: only advance phase on successful commit
Wed, 18 Jan 2012 17:23:54 +0100 phases: mechanism to allow extension to alter initial computation of phase
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 17:23:54 +0100] rev 15922
phases: mechanism to allow extension to alter initial computation of phase This commit add a whennodata list where extension can register a callback to be called if no phase related data are found in the repository. The goal is to ensure the existing extension that move phase data in 2.1 can compute consistent phase boundary for existing repo.
Wed, 18 Jan 2012 17:11:27 +0100 qclone: add a few comment and blank line
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 17:11:27 +0100] rev 15921
qclone: add a few comment and blank line This help readability.
Wed, 18 Jan 2012 17:06:59 +0100 mq: turn changeset draft on qfinish (except if qparent is secret)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 17:06:59 +0100] rev 15920
mq: turn changeset draft on qfinish (except if qparent is secret) As mq automatically sets changesets as secret, it should make them draft when he is done with it. We do not move them automatically to draft when we detect that something else have also set them as secret through their parents.
Wed, 18 Jan 2012 16:52:26 +0100 config: have a way to backup and restore value in config
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 18 Jan 2012 16:52:26 +0100] rev 15919
config: have a way to backup and restore value in config This is introduce to allow temporary overwriting of a config value while being able to reinstall the old value once done. The main advantage over using ``config`` and ``setconfig`` is that backup and restore will properly restore the lack of any config. Restoring the fact that there was no value is important to allow config user to keep using meaniful default value. A more naive approach will result in the following scenario:: Before: config(section, item, my_default) --> my_default temporal overwrite old = config(section, item) … setconfig(section, item, old) After config(section, item, my_default) --> None The first user of this feature should be mq to overwriting minimal phase of future commit.
Tue, 17 Jan 2012 11:08:23 +0100 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr> [Tue, 17 Jan 2012 11:08:23 +0100] rev 15918
graft: add test to check the phase of new changesets Graft actually do not keep the phase of the source changesets: no need to change the graft code and add test to check this behaviour.
Tue, 17 Jan 2012 09:12:14 +0100 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom> [Tue, 17 Jan 2012 09:12:14 +0100] rev 15917
rebase: fix phases movement Rebase now try to keep the phases of source changesets.
Wed, 18 Jan 2012 11:33:14 +0100 largefiles: cache new largefiles for new heads when pulling
Na'Tosha Bard <natosha@unity3d.com> [Wed, 18 Jan 2012 11:33:14 +0100] rev 15916
largefiles: cache new largefiles for new heads when pulling When the user pulls from a remote repository that is not his default repo, it is quite likely that he will pull a new head. This means that if he tries to merge or rebase with the other head, he will run into a problem becuase largefiles has no way of tracking where the remote repository for this other head is, so it cannot download the largefiles from this other remote repository. It will attempt to download them from its default remote repository, which will not yet contain the largefiles. This patch solves this problem by caching any new largefiles for all heads directly into the system cache at the time of the pull, so they are available later. This behavior is actually more in line with Mercurial's distributed nature, because pulling already implies we have a connection to the remote server, but merging or rebasing does not.
Wed, 18 Jan 2012 14:33:19 +0100 largefiles: remove unused lfutil.readhash()
Patrick Mezard <pmezard@gmail.com> [Wed, 18 Jan 2012 14:33:19 +0100] rev 15915
largefiles: remove unused lfutil.readhash()
Wed, 18 Jan 2012 14:19:43 +0100 largefiles: check if largefile could be found when archiving (issue3193)
Na'Tosha Bard <natosha@unity3d.com> [Wed, 18 Jan 2012 14:19:43 +0100] rev 15914
largefiles: check if largefile could be found when archiving (issue3193)
Wed, 18 Jan 2012 13:41:03 +0100 largefiles: refactor lfutil.findfiles to be more logical
Na'Tosha Bard <natosha@unity3d.com> [Wed, 18 Jan 2012 13:41:03 +0100] rev 15913
largefiles: refactor lfutil.findfiles to be more logical
Tue, 17 Jan 2012 19:10:59 -0500 forget: fix subrepo recursion for explicit path handling
David M. Carr <david@carrclan.us> [Tue, 17 Jan 2012 19:10:59 -0500] rev 15912
forget: fix subrepo recursion for explicit path handling When support for handling explicit paths in subrepos was added to the forget command (95174c381525), subrepo recursion wasn't taken into account. This change fixes that by pulling the majority of the logic of commands.forget into cmdutil.forget, which can then be called from both there and subrepo.forget.
Tue, 17 Jan 2012 19:10:58 -0500 add: fix subrepo recursion for explicit path handling
David M. Carr <david@carrclan.us> [Tue, 17 Jan 2012 19:10:58 -0500] rev 15911
add: fix subrepo recursion for explicit path handling When support for handling explicit paths in subrepos was added to the add command (9e99d2bbb1b1), subrepo recursion wasn't taken into account. This change adds an explicitonly argument to cmdutil.add to allow controlling which levels of recursion should include only explicit paths versus all matched paths.
Tue, 17 Jan 2012 19:10:54 -0500 tests: add subrepo recursion tests for add/forget with explicit paths
David M. Carr <david@carrclan.us> [Tue, 17 Jan 2012 19:10:54 -0500] rev 15910
tests: add subrepo recursion tests for add/forget with explicit paths When support for handling add/forget of explicit paths within subrepos was added (9e99d2bbb1b1/95174c381525), nested subrepos weren't handled properly. This change adds test coverage to expose the broken behavior, which will be fixed in later patches.
Wed, 18 Jan 2012 15:07:15 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 18 Jan 2012 15:07:15 -0600] rev 15909
merge with stable
Wed, 18 Jan 2012 14:56:52 -0600 bookmarks: backout locking change in 12dea4d998ec
Matt Mackall <mpm@selenic.com> [Wed, 18 Jan 2012 14:56:52 -0600] rev 15908
bookmarks: backout locking change in 12dea4d998ec Repo lock only applies to data in .hg/store/
Tue, 17 Jan 2012 20:23:23 +0100 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 17 Jan 2012 20:23:23 +0100] rev 15907
changeset_printer: display changeset phase on debug level Backward compatibility make it hard to display it on higher level
Tue, 17 Jan 2012 20:43:41 +0100 phase: report phase movement
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 17 Jan 2012 20:43:41 +0100] rev 15906
phase: report phase movement When used in "set" mode, the phase command now display the number of changeset who changed phase.
Mon, 16 Jan 2012 19:45:35 +0100 largefiles: correctly handle newly added largefile on other side of merge
Na'Tosha Bard <natosha@unity3d.com> [Mon, 16 Jan 2012 19:45:35 +0100] rev 15905
largefiles: correctly handle newly added largefile on other side of merge
Tue, 17 Jan 2012 02:55:55 +0100 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com> [Tue, 17 Jan 2012 02:55:55 +0100] rev 15904
rebase: write series file without removed mq patches Rebase will remove empty changesets and will also completely remove the mq patch file for rebased empty patches. Starting with b28004513977 (1.9) it would preserve guards by writing the old series file back. That would however also reintroduce removed patch files in the series file and the inconsistency would make qpop + qpush fail. This patch backs out most of b28004513977 and makes sure guards are preserved without reintroducing removed patches.
Tue, 17 Jan 2012 17:48:59 -0600 revset: roots needs to be computed on full set
Matt Mackall <mpm@selenic.com> [Tue, 17 Jan 2012 17:48:59 -0600] rev 15903
revset: roots needs to be computed on full set
Wed, 18 Jan 2012 16:46:15 +0100 phases: use nodemap to check for missing nodes
Sune Foldager <cryo@cyanite.org> [Wed, 18 Jan 2012 16:46:15 +0100] rev 15902
phases: use nodemap to check for missing nodes
Wed, 18 Jan 2012 14:50:17 +0100 repair: move phases code after invalidation code
Henrik Stuart <henrik.stuart@edlund.dk> [Wed, 18 Jan 2012 14:50:17 +0100] rev 15901
repair: move phases code after invalidation code
Tue, 17 Jan 2012 11:29:32 +0100 largefiles: remove empty directories upon update (issue3202) stable
Patrick Mezard <pmezard@gmail.com> [Tue, 17 Jan 2012 11:29:32 +0100] rev 15900
largefiles: remove empty directories upon update (issue3202)
Mon, 16 Jan 2012 01:21:30 -0600 revset: optimize roots and children
Matt Mackall <mpm@selenic.com> [Mon, 16 Jan 2012 01:21:30 -0600] rev 15899
revset: optimize roots and children
Mon, 16 Jan 2012 01:21:22 -0600 revset: optimize building large lists in formatrevspec
Matt Mackall <mpm@selenic.com> [Mon, 16 Jan 2012 01:21:22 -0600] rev 15898
revset: optimize building large lists in formatrevspec The large or-expressions we used to build required a substantial amount of subset filtering in orset() which was inefficient. Instead we build a single string which we process in one go with a special internal predicate.
Thu, 08 Dec 2011 16:28:18 +0100 hg-ssh: use shlex for shell-like parsing of SSH_ORIGINAL_COMMAND
Mads Kiilerich <mads@kiilerich.com> [Thu, 08 Dec 2011 16:28:18 +0100] rev 15897
hg-ssh: use shlex for shell-like parsing of SSH_ORIGINAL_COMMAND The Mercurial ssh protocol is defined as if it was ssh-ing to a shell account on an ordinary ssh server, and where hg was available in $PATH and it executed the command "hg -R REPOPATH serve --stdio". The Mercurial ssh client can in most cases just pass REPOPATH to the shell, but if it contains unsafe characters the client will have to quote it so the shell will pass the right -R value to hg. Correct quoting of repopaths was introduced in d8fa35c28335 and tweaked in 86fc364ca5f8. hg-ssh doesn't create the command via a shell and used a simple parser instead. It worked fine for simple paths without any quoting, but if any kind of quoting was used it failed to parse the command like the shell would do it. This makes hg-ssh behave more like a normal shell with hg in the path would do.
Sun, 15 Jan 2012 13:50:12 -0700 hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org> [Sun, 15 Jan 2012 13:50:12 -0700] rev 15896
hooks: prioritize run order of hooks As of Mercurial 1.3, hooks are sorted in the order they are read into Mercurial. There are many instances when someone may want the hooks sorted in a specific order; this patch allows prioritizing hooks, while maintaining the existing enumeration for hooks without a priority.
Sun, 15 Jan 2012 18:00:01 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 15 Jan 2012 18:00:01 -0600] rev 15895
merge with stable
Wed, 11 Jan 2012 15:53:42 -0500 merge: report all files in _checkunknown
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Wed, 11 Jan 2012 15:53:42 -0500] rev 15894
merge: report all files in _checkunknown When doing hg up, if there is a file conflict with untracked files, currently only the first such conflict is reported. With this patch, all of them are listed. With this patch error message is now reported as a: untracked file differs b: untracked file differs abort: untracked files in working directory conflict with files in requested revision instead of abort: untracked file in working directory differs from file in requested revision: 'a' This is a follow up to an old attempt to do this here: http://selenic.com/pipermail/mercurial-devel/2011-August/033625.html
Fri, 13 Jan 2012 22:16:01 +0100 discovery: fix prepush documentation
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 13 Jan 2012 22:16:01 +0100] rev 15893
discovery: fix prepush documentation The prepush documentation claim that when we refuse to push, the second element of the returng tuple is an "outgoing" integer. value should be 0 when no outgoing changeset and 1 otherwise. In pratice if there are no outgoing changeset, "outgoing" value is alway 1 and util.Abort is raised on other error. the stable branch also include this error so it wasn't introduced by a recent refactoring.
Fri, 13 Jan 2012 02:04:16 +0100 phases: simplify phase exchange and movement over pushkey
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 13 Jan 2012 02:04:16 +0100] rev 15892
phases: simplify phase exchange and movement over pushkey The code now only exchange draft root and only care about movement related to public//draft boundary. There is multiple reason to simplify this code: * Secret are never discovered anymore * We decided to not support more the three existing phase Removing phase index from pushkey (if ever decided) will be made in another commit.
Fri, 13 Jan 2012 01:42:47 +0100 phases: move phase according what was pushed not only what was added added
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 13 Jan 2012 01:42:47 +0100] rev 15891
phases: move phase according what was pushed not only what was added added This fix the lack phase movement when a locally secret changeset without added children was pushed to the repository. In such case, this changeset would be present in the bundle source, but not in the ``added`` variable.
Fri, 13 Jan 2012 01:29:03 +0100 revlog: make addgroup returns a list of node contained in the added source
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 13 Jan 2012 01:29:03 +0100] rev 15890
revlog: make addgroup returns a list of node contained in the added source This list will contains any node see in the source, not only the added one. This is intended to allow phase to be move according what was pushed by client not only what was added.
Thu, 12 Jan 2012 01:25:57 +0100 phases: make secret changeset undiscoverable in all case
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 12 Jan 2012 01:25:57 +0100] rev 15889
phases: make secret changeset undiscoverable in all case This apply the redefined stronger semantic of secret. Secret changeset can still leak in various way. Those leak will need to be fixed individualy
Wed, 11 Jan 2012 17:26:27 +0100 phases: exclude secret when doing a local clone
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 11 Jan 2012 17:26:27 +0100] rev 15888
phases: exclude secret when doing a local clone This is achieved by denying copy clone when any secret changeset exist.
Fri, 13 Jan 2012 02:30:43 +0100 bookmarks: primarily use repo lock, not wlock
Mads Kiilerich <mads@kiilerich.com> [Fri, 13 Jan 2012 02:30:43 +0100] rev 15887
bookmarks: primarily use repo lock, not wlock Bookmarks are repository data, not working directory data. Only the current bookmark is working directory data. Some lock shuffling is required to avoid lockout between the initial mock lock and locking of the localrepo instance that is created after copying.
Fri, 13 Jan 2012 02:29:38 +0100 localrepo: update branchcache in a more reliable way
Mads Kiilerich <mads@kiilerich.com> [Fri, 13 Jan 2012 02:29:38 +0100] rev 15886
localrepo: update branchcache in a more reliable way test-mq-cache.t did apparently look at stale cache content. Testing with different locking mechanism happened to update the cache more frequently and thus caused a test failure.
Fri, 13 Jan 2012 01:19:08 +0100 tests: make qnew in test-mq-caches.t stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 13 Jan 2012 01:19:08 +0100] rev 15885
tests: make qnew in test-mq-caches.t stable The unstable hashes did for other reasons not show up in the test output.
Fri, 13 Jan 2012 01:19:08 +0100 localrepo: remove spurious updatebranchcache return value
Mads Kiilerich <mads@kiilerich.com> [Fri, 13 Jan 2012 01:19:08 +0100] rev 15884
localrepo: remove spurious updatebranchcache return value - it was left over from the refactoring in d01e28657429.
Wed, 11 Jan 2012 02:29:56 +0100 mq: only save dirty files once when savedirty is called multiple times
Mads Kiilerich <mads@kiilerich.com> [Wed, 11 Jan 2012 02:29:56 +0100] rev 15883
mq: only save dirty files once when savedirty is called multiple times
Wed, 11 Jan 2012 02:29:56 +0100 mq: remove early wlock release in qnew
Mads Kiilerich <mads@kiilerich.com> [Wed, 11 Jan 2012 02:29:56 +0100] rev 15882
mq: remove early wlock release in qnew It seems like something that missed the refactoring in 97b734fb9c6f.
Wed, 11 Jan 2012 02:29:55 +0100 mq: use .invalidate to cancel dirty mq state when cancelling transaction
Mads Kiilerich <mads@kiilerich.com> [Wed, 11 Jan 2012 02:29:55 +0100] rev 15881
mq: use .invalidate to cancel dirty mq state when cancelling transaction Before the code optimistically relied on savedirty not being called a cancelled transaction. If it was called it could save incorrect data. Instead we now start using the invalidate method introduced in b169ba60eebe.
(0) -10000 -3000 -1000 -240 +240 +1000 +3000 +10000 +30000 tip