- Jul 02, 2014
-
-
Matt Mackall authored
-
Matt Mackall authored
-
- Jun 30, 2014
-
-
Wagner Bruna authored
-
Katsunori FUJIWARA authored
-
- Jun 07, 2014
-
-
durin42 authored
The defect was that copies were always duplicated against the target revision, rather than the first parent of the revision being rebased. This produced nominally correct results if changes were rebased one at a time (or with --collapse), but was wrong if we rebased a sequence of changesets which contained a sequence of copies.
-
durin42 authored
In order to fix issue 4192 we need to be able to skip some copies while doing duplicatecopies.
-
- Jun 29, 2014
-
-
Angel Ezquerra authored
This fixes a crash that may happen when using mercurial 3.0.x. The _gethiddenblockers function assumed that the output of tags.readlocaltags() was a dict mapping tags to of valid nodes. However this was not necessarily the case. When a repository had obsolete revisions and had local tag pointing to a non existing revision was found, many mercurial commands would crash. This revision fixes the problem by removing any tags from the output of tags.readlocaltags() which point to invalid nodes. We may want to add a warning when this happens (although it might be annoying to get that warning for every command, possibly even more than once per command). A test for this problem has been added to test-obsolete.t. Without this fix the test would output: $ hg tags abort: 00changelog.i@3816541e5485: no node! [255] Instead of: $ hg tags tiptag 2:3816541e5485 tip 2:3816541e5485 visible 0:193e9254ce7e
-
- Jun 25, 2014
-
-
Siddharth Agarwal authored
Previously, a glob pattern of the form 'foo/**/bar' would match 'foo/a/bar' but not 'foo/bar'. That was because the '**' in 'foo/**/bar' would be translated to '.*', making the final regex pattern 'foo/.*/bar'. That pattern doesn't match the string 'foo/bar'. This is a bug because the '**/' glob matches the empty string in standard Unix shells like bash and zsh. Fix that by making the ending '/' optional if an empty string can be matched.
-
- Jun 19, 2014
-
-
Matt Mackall authored
-
- Jun 18, 2014
-
-
Matt Mackall authored
-
- Jun 16, 2014
-
-
Matt Mackall authored
-
Matt Mackall authored
-
- Jun 14, 2014
-
-
Matt Mackall authored
-
- Jun 13, 2014
-
-
Matt Mackall authored
This keeps other threads from modifying self._cache out from under us. With this and the previous fix, 'hg serve' survives 100k hits with siege.
-
Matt Mackall authored
With this and related fixes, 'hg serve' survived 100000 hits with siege.
-
- Jun 09, 2014
-
-
Danek Duvall authored
-
- Jun 11, 2014
-
-
Danek Duvall authored
-
- May 26, 2014
-
-
Mads Kiilerich authored
This will make resolve use correct locking and thus make it more safe. Resolve is usually a long running command spending a lot of time waiting for user input on hard problems. It is thus a real world scenario to start multiple resolves at once or run other commands (such as up -C and merge) while resolve is running. Proper locking prevents that.
-
- Jun 05, 2014
-
-
Katsunori FUJIWARA authored
Before this patch, 'hg fetch' may cause unexpected conflict, if 'hg fetch'-ed changes are located near lines in which keywords are embedded, because keywords are substituted with other strings in the working directory. This patch suppresses keyword expansion while 'hg fetch' for internal merge by adding 'fetch' to 'restricted' command list like 'merge'. This patch uses 'hg import' to safely create the new head to be merged at succeeding 'hg fetch', because: - branch of revision #10 is different from one of #11 in 'Test' repository, so just 'hg fetch -r 11' doesn't cause merging between them this means the new head should be created manually. - 'hg import' is easier and safer than 'cat <<EOF' and 'hg commit' to replay same changes including special characters like '$' safeness of 'hg import' with keyword extension is already examined in 'test-keyword.t'.
-
Katsunori FUJIWARA authored
Before this patch, 'hg histedit' may cause unexpected conflict, if 'hg histedit'-ed changes are located near lines in which keywords are embedded, because keywords are substituted with other strings in the working directory. This patch suppresses keyword expansion while 'hg histedit' for internal merge by adding 'histedit' to 'restricted' command list like 'merge'. Test in this patch just swaps order of revision #13 and #14: this is enough to cause internal merge.
-
Katsunori FUJIWARA authored
Before this patch, 'hg backout' may cause unexpected conflict, if 'hg backout'-ed changes are located near lines in which keywords are embedded, because keywords are substituted with other strings in the working directory. This patch suppresses keyword expansion while 'hg backout' for internal merge by adding 'backout' to 'restricted' command list like 'merge'.
-
Katsunori FUJIWARA authored
Before this patch, 'hg graft' may cause unexpected conflict, if 'hg graft'-ed changes are located near lines in which keywords are embedded, because keywords are substituted with other strings in the working directory. This patch suppresses keyword expansion while 'hg graft' for internal merge by adding 'graft' to 'restricted' command list like 'merge'.
-
Katsunori FUJIWARA authored
Before this patch, 'hg rebase' may cause unexpected conflict, if 'hg rebase'-ed changes are located near lines in which keywords are embedded, because keywords are substituted with other strings in the working directory. This patch suppresses keyword expansion while 'hg rebase' for internal merge by adding 'rebase' to 'restricted' command list like 'merge'. This patch specifies '--keep' to 'hg rebase', because revision #10 is useful also for tests in succeeding patches.
-
Katsunori FUJIWARA authored
Before this patch, 'hg unshelve' may cause unexpected conflict, if 'hg unshelve'-ed changes are located near lines in which keywords are embedded, because keywords are substituted with other strings in the working directory. This patch suppresses keyword expansion while 'hg unshelve' for internal merge by adding 'unshelve' to 'restricted' command list like 'merge'.
-
- Jun 01, 2014
-
-
Matt Mackall authored
-
Matt Mackall authored
-
Matt Mackall authored
-
- May 22, 2014
-
-
Gregory Szorc authored
The onclose() closure added in cd443c7589cc held a regular reference to the transaction object. This was causing the transaction to not gc and a leak to occur. The closure now holds a reference to the weakref instance and the leak goes away.
-
- May 30, 2014
-
-
Katsunori FUJIWARA authored
-
- May 07, 2014
-
-
Martin Geisler authored
This avoids a warning from msgfmt: $ msgfmt -v -o mercurial/locale/zh_TW/LC_MESSAGES/hg.mo i18n/zh_TW.po -c i18n/zh_TW.po:7: warning: header field 'Language' still has the initial default value
-
Jakob Krainz authored
-
- May 22, 2014
-
-
Pierre-Yves David authored
For now, getbundle accepts a fixed number of arguments: ``heads``, ``common`` and ``bundlecaps``. We make this list exposed at the module level to let extensions add content there. This is important for extensions that wish to use bundle2 for other contents than changegroup.
-
- May 08, 2014
-
-
Durham Goode authored
When bundle2 was enabled, if hg pull had no commits to pull, it would print 'no changes found' and then download the entire repository from the server. This was caused by heads and common being set to None, which gets treated as heads=cl.heads() and common=[nullid], which means download the entire repo. Pulling bundles without a changegroup is a valid use case (like if we're just updating bookmarks), so this modifes the bundle code to allow not adding changegroups. This is backport of ab5040cd5749.
-
Pierre-Yves David authored
Those two lines where double indented for no good reasons. This is backport of 71931b789424.
-
Pierre-Yves David authored
The arguments was wrongly propagated (again). This a backport of 0055b5b3eb9c
-
Durham Goode authored
During pulls bundle2 was checking server.bundle2, but during pushes it was checking experimental.bundle2. This makes them both experimental.bundle2. This is a backport of 750c7c14a637
-
- May 17, 2014
-
-
Yuya Nishihara authored
We use 255 for general command error. It can't raise util.Abort because help module executes badalias command to get error message.
-
- May 27, 2014
-
-
Matt Mackall authored
-
Matt Mackall authored
-
- May 17, 2014
-
-
Yuya Nishihara authored
No command should fail with ValueError just because there is unparseable alias definition. It returns 1 like other badalias handlers, but should be changed to 255 in a later version because we use 255 for general command error.
-