- May 01, 2015
-
-
Katsunori FUJIWARA authored
According to recent "filectx.data()" implementation, "censor.policy" should be configured as "ignore" to ignore error at censored file: "censor.allow" seems outdated name.
-
- Apr 30, 2015
-
-
Matt Mackall authored
-
Katsunori FUJIWARA authored
-
- Apr 29, 2015
-
-
Wagner Bruna authored
-
- Apr 30, 2015
-
-
Ryan McElroy authored
-
Matt Harbison authored
The '~' in the bug report is being expanded to a path with Windows style slashes before being passed to shellquote() via util.shellquote(). But shlex.split() strips '\' out of the string, leaving an invalid path in dispatch.aliasargs(). This regressed in 1642eb429536. For now, the tests need to be conditionalized for Windows (because those paths are quoted). In the future, a more complex regex could probably skip the quotes if all component separators are double '\'. I opted to glob away the quotes in test-rename-merge2.t and test-up-local-change.t (which only exist on Windows), because they are in very large blocks of output and there are way too many diffs to conditionalize with #if directives. Maybe the entire path should be globbed away like the following paths in each changed line. Or, letting #if directives sit in the middle of the output as was mentioned a few months back would work too. Unfortunately, I couldn't figure out how to test the specific bug. All of the 'hg serve' tests have a #require serve declaration, causing them to be skipped on Windows. Adding an alias for 'expandtest = outgoing ~/bogusrepo' prints the repo as '$TESTTMP/bogusrepo', so the test runner must be changing the environment somehow.
-
Matt Harbison authored
The ability to set the exec bit on Windows would be real handy for this test..
-
Siddharth Agarwal authored
ui.plain() is supposed to disable config options that change the UI to the detriment of scripts. As the test demonstrates, revset aliases can actually override builtin ones, just like command aliases. Therefore I believe this is a bugfix and appropriate for stable.
-
- Apr 29, 2015
-
-
Yuya Nishihara authored
This avoids the following error that happened if base revision of bundle file was hidden. bundlerevlog needs it to construct revision texts from bundle content as revlog.revision() does. File "mercurial/context.py", line 485, in _changeset return self._repo.changelog.read(self.rev()) File "mercurial/changelog.py", line 319, in read text = self.revision(node) File "mercurial/bundlerepo.py", line 124, in revision text = self.baserevision(iterrev) File "mercurial/bundlerepo.py", line 160, in baserevision return changelog.changelog.revision(self, nodeorrev) File "mercurial/revlog.py", line 1041, in revision node = self.node(rev) File "mercurial/changelog.py", line 211, in node raise error.FilteredIndexError(rev) mercurial.error.FilteredIndexError: 1
-
Matt Harbison authored
There were 2 test failures in 3.4-rc when running test-hook.t with the largefiles extension enabled. For context, the first is a commit hook: @@ -618,9 +621,9 @@ $ echo 'update = hg id' >> .hg/hgrc $ echo bb > a $ hg ci -ma - 223eafe2750c tip + d3354c4310ed+ $ hg up 0 - cb9a9f314b8b + 223eafe2750c+ tip 1 files updated, 0 files merged, 0 files removed, 0 files unresolved make sure --verbose (and --quiet/--debug etc.) are propagated to the local ui In both cases, largefiles acquires the wlock before calling into core, which also acquires the wlock. The first case was fixed in 57f1dbc99631 by ensuring the hook only runs after the lock has been fully released. The full release is important, because that is what writes dirstate to the disk, allowing external hooks to see the result of the update. This simply changes how the update hook is called, so that it too is deferred until the lock is finally released. There are many uses of mergemod.update(), but in terms of commands, it looks like the following commands take wlock while calling mergemod.update(), and therefore will now have their hook fired at a later time: backout, fetch, histedit, qpush, rebase, shelve, transplant Unlike the others, fetch immediately unlocks after calling update(), so for all intents and purposes, its hook invocation is not deferred (but the external hook still sees the proper state).
-
Katsunori FUJIWARA authored
There is no code path handling ".hgcensored" in Mercurial source tree. This meaningless explanation may make users misunderstand about censor.
-
Yuya Nishihara authored
If v = -INT_MAX - 1, -v would exceed INT_MAX. I don't think this would cause problems such as issue4627, but we can't blame it as a compiler bug because signed integer overflow is undefined in C.
-
Pierre-Yves David authored
The current bundle2 processing was capturing all output. This is nice as it provide better meta data about what output what, but this was changing two things: 1) adding a prefix "remote: " to "other" output during local push (issue4613) 2) local and ssh push does not provide real time output anymore (issue4615) As we are unsure about what form should be used in (1) and how to solve (2) we disable output capture in this two cases. Output capture can be forced using an experimental option.
-
- Feb 03, 2015
-
-
Matt Harbison authored
With many commands accepting a '-S' or an explicit path to trigger recursing into subrepos, it seems that --hidden needs to be propagated too. Unfortunately, many of the subrepo layer methods discard the options map, so passing the option along explicitly isn't currently an option. It also isn't clear if other filtered views need to be propagated, so changing all of those commands may be insufficient anyway. The specific jam I got into was amending an ancestor of qbase in a subrepo, and then evolving. The patch ended up being hidden, and outgoing said it would only push one unrelated commit. But push aborted with an 'unknown revision' that I traced back to the patch. (Odd it didn't say 'filtered revision'.) A push with --hidden worked from the subrepo, but that wasn't possible from the parent repo before this. Since the underlying problem doesn't actually require a subrepo, there's probably more to investigate here in the discovery area. Yes, evolve + mq is not exactly sane, but I don't know what is seeing the hidden revision. In lieu of creating a test for the above situation (evolving mq should probably be blocked), the test here is a marginally useful case where --hidden is needed in a subrepo: cat'ing a file in a hidden revision. Without this change, cat aborts with: $ hg --hidden cat subrepo/a skipping missing subrepository: subrepo [1]
-
- Apr 28, 2015
-
-
Matt Harbison authored
When passing a --rev, 'hg incoming -S' previously suffered from the same output truncation or abort that was fixed for 'hg outgoing -S' in the previous patch, for the same reasons. Unlike push, subrepos are currently only pulled when the outer repo is updated, not when the outer repo is pulled. That makes matching 'hg pull' behavior impossible. Listing all incoming csets in the subrepo seems like the most useful behavior, and is consistent with 'hg outgoing -S'.
-
Matt Harbison authored
The previous behavior didn't reflect what would actually be pushed- push will ignore --rev and --branch in the subrepo and push everything. Therefore, 'push -r {rev}' would not list everything, unless {rev} was also the revision of the subrepo's tip. Worse, if a hash was passed in, the command would abort because that hash would either not be in the outer repo or not in the subrepo.
-
Matt Harbison authored
The functionality was added in a48b65ab428d.
-
- Apr 27, 2015
-
-
Laurent Charignon authored
While fixing issue4304: "record: allow editing new files" we introduced changes in record/crecord. These changes need to be matched with changes in any command using record. Revert is one of these commands and the changes have not been made for this release. Therefore, revert -i should be an experimental feature for this release.
-
Laurent Charignon authored
While fixing issue4304: "record: allow editing new files" we introduced changes in record/crecord. These changes need to be matched with changes in any command using record. Shelve is one of these commands and the changes have not been made for this release. Therefore, shelve -i should be an experimental feature for this release.
-
Siddharth Agarwal authored
Similar to DEPRECATED, add a way to indicate that options are EXPERIMENTAL.
-
- Apr 28, 2015
-
-
Gregory Szorc authored
`hg pull` takes an optional "source" argument to define the path/url to pull from. Under some circumstances, this option could get proxied to rebase and interpretted as the --source argument to rebase, leading to unexpected behavior. In my local environment, "source" always appears in "opts" in pullrebase. However, when attempting to write a test, I couldn't reproduce this. Instead, the source is being captured as a positional argument in "args." I suspect an interaction between **kwargs and an extension is to blame for the differences in behavior. This is why no test has been written. I have tested behavior locally and the patch has the intended side-effect of making `hg pull --rebase` work again.
-
Katsunori FUJIWARA authored
To show example code correctly in online help, text block of it should be preceded by "::" and indented.
-
- Apr 27, 2015
-
-
Wagner Bruna authored
-
Wagner Bruna authored
-
Laurent Charignon authored
In my latest change on record (edit newly added file), I forgot the repo.wjoin() so that record was not computing the paths properly to delete the backups and was crashing.
-
Matt Mackall authored
-
- Apr 25, 2015
-
-
Katsunori FUJIWARA authored
This wrapping seems meaningless, because: - there is no "_()" invocation to prepare for extracting phase names to be translated "make update-pot" doesn't extract msgids for phase names - phase names are kine of reserved keywords like as branch name "default"
-
Katsunori FUJIWARA authored
String concatenation by "+" operator causes failure of extracting messages to be translated. Python automatically concatenates strings separated by whitespaces into one string.
-
Yuya Nishihara authored
This should avoid the bad performance in the following scenario. Before this patch, on "hg annotate -r10000", p.rev() would walk changelog from 10000 to 3 because _descendantrev was 10000. With this patch, it walks from 5 to 3. 1 -- 2 -- 4 -- 5 -- ... -- 10000 \ 'p' 'f' - 3 (grafted 3 to 4) 'p' repo: https://hg.mozilla.org/releases/mozilla-beta/#4f80fecda802 command: hg annotate -r b0a57152fd14 browser/app/profile/firefox.js before: 83.120 secs after: 3.820 secs This patch involves extra calls of narrow _adjustlinkrev(), but the cost of them seems relatively small compared to wide _adjustlinkrev() calls eliminated by this patch. repo: http://selenic.com/repo/hg/#8015a3cf1380 command: hg annotate mercurial/commands.py before: 7.380 secs after: 7.320 secs repo: https://hg.mozilla.org/mozilla-central/#f214df6ac75f command: hg annotate layout/generic/nsTextFrame.cpp before: 5.070 secs after: 5.050 secs repo: https://hg.mozilla.org/releases/mozilla-beta/#4f80fecda802 command: hg annotate -r 4954faa47dd0 gfx/thebes/gfxWindowsPlatform.cpp before: 1.600 secs after: 1.620 secs
-
- Apr 26, 2015
-
-
Matt Harbison authored
-
Matt Harbison authored
The cmd.exe process doesn't fail the hook when "; false" is appended, and its echo command prints out the quote characters.
-
- Apr 27, 2015
-
-
Katsunori FUJIWARA authored
Before this patch, doc string of each web commands isn't extracted as translatable one, even though web commands are listed up in "hg help hgweb". This patch adds "mercurial/hgweb/webcommands.py" on to arguments of "i18n/hggettext". "i18nfunctions" added into "webcommands.py" is used by "i18n/hggettext" to get the list of functions having translatable doc string.
-
- Apr 25, 2015
-
-
Matt Harbison authored
The '' that is used to represent the state of a not-yet-committed subrepo cannot be written to the file, because the code that parses the file splits on ' ' and expects two parts. Given that the .hgsubstate file is automatically rewritten on commit, it seems a little strange that the file is written out during a merge.
-
- Apr 26, 2015
-
-
Matt Harbison authored
This regressed in 5e16fe6fdd32, in what looks like an unrelated change. It seems sufficient to pass 'ignoremissing=True', but the restored try/except has been there for six years since 41bb88cb913e, so this seems safer for now. Note that renaming directories in the filename doesn't appear to work- not sure if this would end up throwing a different type of error when that is fixed.
-
- Apr 27, 2015
-
-
Matt Mackall authored
We've had a couple reports of subversion tracebacks that trigger when the parents list is empty, and thus block showing what the commit failure was on the next two lines.
-
- Apr 24, 2015
-
-
Matt Mackall authored
-
- Apr 23, 2015
-
-
Wagner Bruna authored
-
- Apr 24, 2015
-
-
Jordi Gutiérrez Hermoso authored
This is a copy of c1cb6523e968, but applied to the phases template, which is itself almost a copy of the default template. Perhaps we should rewrite these templates to use the %include syntax afforded by config files. This change seems a bit too big for stable, though.
-
Jordi Gutiérrez Hermoso authored
This snippet was introduced by c1cb6523e968. Its purpose seems a bit obscure without historical context.
-
- Apr 23, 2015
-
-
Pierre-Yves David authored
Until this changeset, we were only able to save output if an error happened during the 'transaction.close()' phase. If the 'processbundle' call raised an exception, the 'bundleoperation' object was never returned, so the reply bundle was never accessible and no output could be salvaged. We introduce a quick (but not very elegant) fix to gain access to any reply created during the processing. This conclude this output related series. We should hopefully be able client-side to see the whole server output, in a proper order. The code is now complex enough that a refactoring of it would make sense on default.
-