[Bug 5326] New: fsmonitor does not properly handle directory ignores

2016-08-15 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5326

Bug ID: 5326
   Summary: fsmonitor does not properly handle directory ignores
   Product: Mercurial
   Version: 3.9
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: fsmonitor
  Assignee: bugzi...@selenic.com
  Reporter: m...@selenic.com
CC: mercurial-de...@selenic.com

From bug #5322:

  $ hg init repo
  $ mkdir subdir
  $ touch subdir/file
  $ cat > .hgignore << EOF
  > subdir$
  > EOF

  $ hg st
  ? .hgignore

  $ hg --config extensions.fsmonitor= st
  ? .hgignore
  ? subdir/file

Descent into subdirectories should stop on matching an ignore pattern against a
directory name (without the trailing slash).

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5336] New: Add a --future option to blame/annotate to find future changes to lines in a file

2016-08-19 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5336

Bug ID: 5336
   Summary: Add a --future option to blame/annotate to find future
changes to lines in a file
   Product: Mercurial
   Version: 3.7.3
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: maxgrenderjo...@gmail.com
CC: mercurial-de...@selenic.com

hg annotate/blame is used to answer the common question:

'Whenever/whoever added/changed this line broke my build - when/who was it'?

I often have a similar, related question:

'Whenever this line changed from what it was as of revision xyz broke my build
- when/who was it'?

i.e. I want a command that does just what hg annotate does, only instead of
listing the revision that made the line what it was, it shows the next revision
that changes the line from what it currently is. Paging through all the
revisions to a file to find the first one where a particular line of interest
changes can be very painful and error prone. Doing a diff between the current
version of the file and some version far in the future requires you to then do
a binary search to find when the change was made, and can be even harder if the
change was to remove the line entirely (in which case `hg annotate` from the
the file in the future can't help you).

It would appear that I'm not the only one with this issue, which is currently
answered with workarounds at best on stackoverflow:
http://stackoverflow.com/questions/13549555/mercurial-how-to-see-history-for-specific-line-of-code

I can imagine there might be technical challenges - which branch do you follow
if that file branches in the future, but hopefully some sensible defaults could
be devised (e.g. force the user to pick branches to follow or simply fail if
that file is branched in the future)

Perhaps there's already a neat way of doing this - if so, please post it on
stackoverflow!

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5335] New: Unexpected behaviour while using --with-python3

2016-08-19 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5335

Bug ID: 5335
   Summary: Unexpected behaviour while using --with-python3
   Product: Mercurial
   Version: 3.9-rc
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: 7895pul...@gmail.com
CC: mercurial-de...@selenic.com

I noticed this fixing the raise statement in mercurial/bundle2.py. The commit
which got pushed can be seen here https://www.selenic.com/hg/rev/e584c6235500.
There is test-bundle2-format.t which will fail we haven't raised the exception
correctly.
Now if we intentionally try to fail the test on python 3 by changing the lines
of code in python 3 if block, what I tried was replacing with `raise abc`, and
run the test on python 3, the test passes, which should not.
If we try changing the statement in py2 else block and change it to something
like `raise abc`, and then run the test on python 3, we should expect the test
to pass, as we are not using python 2, but the test fails.
What seems is like even using --with-python3 the tests are running on python 2
only. Maybe something is missing in implementation.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5327] New: hg cat paths are relative to $PWD

2016-08-15 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5327

Bug ID: 5327
   Summary: hg cat paths are relative to $PWD
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: h...@pewpew.net
CC: mercurial-de...@selenic.com

The paths provided to `hg cat` appear to be relative to the current directory.

Example:
> cd ~/src/hg/mercurial
> hg cat -r .^ mercurial/httppeer.py
mercurial/httppeer.py: no such file in rev b33c0c38d68f
> hg cat -r .^ httppeer.py 
... contents of file ...

This seems surprising, since my local directory state shouldn't be necessary
for this kind of "read only the committed state" kind of operation.  The error
message also seems incorrect, it says "mercurial/httppeer.py" wasn't found, but
what it was really looking for was "mercurial/mercurial/httppeer.py".


It also makes -R not work, and this error message is even worse
(mercurial/httppeer.py is definitely under that root):

> cd ../..
> pwd
/home/spectral/src
> hg -R hg cat -r .^ mercurial/httppeer.py
abort: mercurial/httppeer.py not under root '/home/spectral/src/hg'
(consider using '--cwd hg')


If I use the recommended --cwd hg, it does work:
> hg --cwd hg cat -r .^ mercurial/httppeer.py
... contents of file ...

Or if I repeat the root (added 'hg/' in front of mercurial/httppeer.py):
> hg -R hg cat -r .^ hg/mercurial/httppeer.py
... contents of file ...


> hg --version
Mercurial Distributed SCM (version 3.8.4+427-e5b4d79a9140)
(see https://mercurial-scm.org for more information)

Copyright (C) 2005-2016 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5337] New: "hg revert -i" can not revert part of hunk

2016-08-19 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5337

Bug ID: 5337
   Summary: "hg revert -i" can not revert part of hunk
   Product: Mercurial
   Version: 3.9
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: record
  Assignee: bugzi...@selenic.com
  Reporter: martinv...@google.com
CC: mercurial-de...@selenic.com

Commit and empty file, add two lines to it, then try to revert one of the added
lines using "hg revert -i". Both lines will be reverted. Note that "hg commit
-i" can add correctly add either of the lines.

This shows the bug:

hg init
touch f
hg add f
hg ci -m empty
printf 'a\nb\n' > f
hg ci -i

Select one of the lines and confirm. Both will be reverted.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5329] New: Setup a buildbot with Python 3.5

2016-08-17 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5329

Bug ID: 5329
   Summary: Setup a buildbot with Python 3.5
   Product: Mercurial
   Version: default branch
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: infrastructure
  Assignee: bugzi...@selenic.com
  Reporter: 7895pul...@gmail.com
CC: kbullock+mercur...@ringworld.org,
mercurial-de...@selenic.com

We have came some way through porting to Python 3 and we should have our
buildbot covering Python3 so we can keep a track on whats passing, what not and
moreover it will force people to write py3 compatible code. We are only
supporting Python 3.5

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5330] New: Create a steering committee e-mail list

2016-08-17 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5330

Bug ID: 5330
   Summary: Create a steering committee e-mail list
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Mac OS
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: infrastructure
  Assignee: bugzi...@selenic.com
  Reporter: kbullock+mercur...@ringworld.org
CC: kbullock+mercur...@ringworld.org,
mercurial-de...@selenic.com

Create steer...@mercurial-scm.org with the steering committee as members.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5361] New: hg backout forgets renames for non-direct ancestors

2016-09-06 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5361

Bug ID: 5361
   Summary: hg backout forgets renames for non-direct ancestors
   Product: Mercurial
   Version: default branch
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: bug
  Priority: normal
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: jar...@molb.org
CC: mercurial-de...@selenic.com

This is a continuation of Bug 3039: With recent versions of Mercurial (e.g.
3.8.4, 3.9.1 and 3.9+198-f148bfa40489), a backout of the most recent commit
preserves renames. However a single unrelated commit destroys this information.

Good:

$ hg init repo
$ cd repo
$ echo a > a
$ hg ci -Am adda
adding a
$ hg mv a b
$ hg ci -m moveab
$ hg backout -m backout tip
adding a
removing b
changeset 2:030c62140b54 backs out changeset 1:ec5932ef5cba
$ hg diff --git -c .
diff --git a/b b/a
rename from b
rename to a


Bad:

$ hg init repo
$ cd repo
$ echo a > a
$ hg ci -Am adda
adding a
$ hg mv a b
$ hg ci -m moveab
$ echo c > c
$ hg ci -Am addc
adding c
$ hg backout -m backout 1
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
changeset 3:2de33e2e7df1 backs out changeset 1:576d406e865d
$ hg diff --git -c .
diff --git a/a b/a
new file mode 100644
--- /dev/null
+++ b/a
@@ -0,0 +1,1 @@
+a
diff --git a/b b/b
deleted file mode 100644
--- a/b
+++ /dev/null
@@ -1,1 +0,0 @@
-a

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5362] New: unicode paths are not deleted

2016-09-06 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5362

Bug ID: 5362
   Summary: unicode paths are not deleted
   Product: Mercurial
   Version: 3.9
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: purge
  Assignee: bugzi...@selenic.com
  Reporter: maciej.pawl...@titanis.pl
CC: mercurial-de...@selenic.com

Paths containing unicode characters cannot be deleted, and command fails:

> hg init test
> cd test
> mkdir ęłóść
> echo "test" > ąśłó.txt
> hg purge --all
el≤sc: The system cannot find the path specified
warning: asl≤.txt cannot be removed
abort: The system cannot find the path specified: 'D:\repos\test\el≤sc/*.*'

I found this bug by using node-sass:
> npm install node-sass
> hg purge --all
node_modules\node-sass\test\fixtures\spec\spec\output_styles\expanded\libsass\Sa┤ss-UT╕F8:
The system cannot find the path specified
node_modules\node-sass\test\fixtures\spec\spec\output_styles\compressed\libsass\Sa┤ss-UT╕F8:
The system cannot find the path specified
node_modules\node-sass\test\fixtures\spec\spec\output_styles\compact\libsass\Sa┤ss-UT╕F8:
The system cannot find the path specified
node_modules\node-sass\test\fixtures\spec\spec\libsass\Sa┤ss-UT╕F8: The system
cannot find the path specified

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5359] New: hg pull -u fails in mercurial 3.9+ if evolve is enabled.

2016-09-04 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5359

Bug ID: 5359
   Summary: hg pull -u fails in mercurial 3.9+ if evolve is
enabled.
   Product: Mercurial
   Version: 3.9-rc
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: evolution
  Assignee: bugzi...@selenic.com
  Reporter: 7895pul...@gmail.com
CC: mercurial-de...@selenic.com,
pierre-yves.da...@ens-lyon.org

This is what I ran into while doing hg pull -u

pulkit@pulkit-goyal:~/hg-committed$ hg pull -u
pulling from https://www.mercurial-scm.org/repo/hg-committed/
searching for changes
** Unknown exception encountered with possibly-broken third-party extension
evolve
** which supports versions 3.8 of Mercurial.
** Please disable evolve and try your action again.
** If that fixes the bug please report it to https://bz.mercurial-scm.org/
** Python 2.7.10 (default, Oct 14 2015, 16:09:02) [GCC 5.2.1 20151010]
** Mercurial Distributed SCM (version 3.9+196-318e2b600b80+20160831)
** Extensions loaded: patchbomb, histedit, strip, mq, largefiles, evolve
Traceback (most recent call last):
  File "/home/pulkit/bin/hg", line 45, in 
mercurial.dispatch.run()
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 60,
in run
sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
126, in dispatch
ret = _runcatch(req)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
216, in _runcatch
return callcatch(ui, _runcatchfunc)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
225, in callcatch
return func()
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
205, in _runcatchfunc
return _dispatch(req)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
897, in _dispatch
cmdpats, cmdoptions)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
650, in runcommand
ret = _runcommand(ui, options, cmd, d)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
906, in _runcommand
return cmdfunc()
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
894, in 
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1035,
in check
return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/extensions.py", line
210, in closure
return func(*(args + a), **kw)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1035,
in check
return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/hgext/mq.py", line 3540, in
mqcommand
return orig(ui, repo, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1035,
in check
return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/extensions.py", line
210, in closure
return func(*(args + a), **kw)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1035,
in check
return func(*args, **kwargs)
  File "/home/pulkit/evolve/hgext/evolve.py", line 737, in warnobserrors
ret = orig(ui, repo, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1035,
in check
return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/extensions.py", line
210, in closure
return func(*(args + a), **kw)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1035,
in check
return func(*args, **kwargs)
  File "/home/pulkit/evolve/hgext/evolve.py", line 709, in wrapmayobsoletewc
res = origfn(ui, repo, *args, **opts)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1035,
in check
return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/extensions.py", line
210, in closure
return func(*(args + a), **kw)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1035,
in check
return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/hgext/largefiles/overrides.py",
line 799, in overridepull
result = orig(ui, repo, source, **opts)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1035,
in check
return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/commands.py", line
5843, in pull
opargs=pullopargs).cgresult
  File "/usr/local/lib/python2.7/dist-packages/mercurial/exchange.py", line
1213, in pull
_pullbundle2(pullop)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/exchange.py", line
1351, in _pullbundle2
_pullbundle2extraprepare(pullop, kwargs)
  File 

[Bug 5354] New: Allow specifying default --flag options via config

2016-08-29 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5354

Bug ID: 5354
   Summary: Allow specifying default --flag options via config
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Mac OS
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: patchbomb
  Assignee: bugzi...@selenic.com
  Reporter: kbullock+mercur...@ringworld.org
CC: mercurial-de...@selenic.com

It would be useful to be able to configure patchbomb to automatically add flags
to patches e-mailed from certain repositories. This would particularly help
distinguish between patches for core, evolve, remotefilelog, etc. on
mercurial-devel. Example:

[email]
to = mercurial-devel@mercurial-scm.org
flags = evolve-ext

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5353] New: Flag patches mailed to mercurial-devel+foobar as [PATCH k of n foobar]

2016-08-29 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5353

Bug ID: 5353
   Summary: Flag patches mailed to mercurial-devel+foobar as
[PATCH k of n foobar]
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Mac OS
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: infrastructure
  Assignee: bugzi...@selenic.com
  Reporter: kbullock+mercur...@ringworld.org
CC: kbullock+mercur...@ringworld.org,
mercurial-de...@selenic.com

It would be useful to automatically add flags to patch subjects for non-core
projects, e.g. remotefilelog, evolve, etc., based on a +extension on the
address. With that address set in the repo's hgrc:

[email]
to = mercurial-devel+foo...@mercurial-scm.org

it would no longer be necessary to remember to pass `--flag foobar` to
patchbomb for every submission.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5355] New: interactive record failed with abort patch failed to apply

2016-08-30 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5355

Bug ID: 5355
   Summary: interactive record failed with abort patch failed to
apply
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: record
  Assignee: bugzi...@selenic.com
  Reporter: timel...@gmail.com
CC: mercurial-de...@selenic.com

hg version is o  35485[default/default][@]   997e8cf4d0a2  + unrelated changes

$ hg commit -i -m 'spellings: display messages'
src/Microsoft.PackageManagement.NuGetProvider/resources/Microsoft.PackageManagement.NuGetProvider.Resources.Messages.resx
src/Microsoft.PackageManagement.PackageSourceListProvider/resources/Microsoft.PackageManagement.PackageSourceListProvider.Resources.Messages.resx
src/Microsoft.PackageManagement/resources/Microsoft.PackageManagement.Resources.Messages.resx
src/Microsoft.PowerShell.Activities/resources/ActivityResources.resx
src/Microsoft.PowerShell.Commands.Diagnostics/resources/GetEventResources.* `hg
st -n |grep resx`
starting interactive selection
patching file
src/Microsoft.PowerShell.Commands.Management/resources/ClearRecycleBinResources.resx
Hunk #1 FAILED at 138
1 out of 1 hunks FAILED -- saving rejects to file
src/Microsoft.PowerShell.Commands.Management/resources/ClearRecycleBinResources.resx.rej
abort: patch failed to apply

Expected results:
Return me to the interactive selection UI and let me deal with the failure.

Actual results:
All the work I took to select hunks was lost.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5363] New: hgweb help should use tt style for flag side of output

2016-09-07 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5363

Bug ID: 5363
   Summary: hgweb help should use tt style for flag side of output
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: timel...@gmail.com
CC: mercurial-de...@selenic.com

https://www.mercurial-scm.org/repo/hg-all/help/commit

> commit all files ending in .py:
> hg commit --include "set:**.py"

The second line is in .

But the later section is just plain text:
> options ([+] can be repeated):

> -A--addremove mark new/missing files as added/removed before 
> committing
...

> global options ([+] can be repeated):

> -R--repository REPO   repository root directory or name of overlay 
> bundle file
...

We should consider making the -A/--addremove portion 

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5364] New: strange error message when rebasing (incorrectly) keyword extensio

2016-09-07 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5364

Bug ID: 5364
   Summary: strange error message when rebasing (incorrectly)
keyword extensio
   Product: Mercurial
   Version: stable branch
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: keyword
  Assignee: bugzi...@selenic.com
  Reporter: oub.oub@gmail.com
CC: blacktr...@gmx.net, mercurial-de...@selenic.com

Hi

I generated a test repo like this
 hg init
 hg bookmark master
 echo Upstream1 > main.txt
 hg add main.txt
 hg commit -m "Up one"
 hg bookmark exam
 echo exam1 > exam.txt
 hg add exam.txt
 hg commit -m "Exam 1"
 echo exam2 >> exam.txt
 hg commit -m "exam2"
 hg update master
 echo uwe-three >> main.txt
 hg commit -m "Uwe three"
 hg log -G

Then I run

hg rebase -s 2 -d 3
this is wrong it should be
hg rebase -s 1 -d 3

But the error message looks puzzeling 

rebasing 2:c70195814452 "exam2" (exam)
** Unknown exception encountered with possibly-broken third-party extension
hggit
** which supports versions 3.7 of Mercurial.
** Please disable hggit and try your action again.

I did this and repeated the process, then hg complained about another
3prd party extension, which had nothing to do with the problem, when
desactivation all extension I obtain

remote changed exam.txt which local deleted
use (c)hanged version, leave (d)eleted, or leave (u)nresolved? interrupted!

And I found out it is the
keyword extension which causes the following error message

(hg rebase -s 1 -d 3 works!)

traceback (most recent call last):
  File "/usr/bin/hg", line 43, in 
mercurial.dispatch.run()
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 59, in
run
sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 125, in
dispatch
ret = _runcatch(req)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 204, in
_runcatch
return _dispatch(req)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 887, in
_dispatch
cmdpats, cmdoptions)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 632, in
runcommand
ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib/python2.7/dist-packages/mercurial/extensions.py", line 204, in
closure
return func(*(args + a), **kw)
  File "/usr/lib/python2.7/dist-packages/hgext/color.py", line 502, in colorcmd
return orig(ui_, opts, cmd, cmdfunc)
  File "/usr/lib/python2.7/dist-packages/mercurial/extensions.py", line 204, in
closure
return func(*(args + a), **kw)
  File "/usr/lib/python2.7/dist-packages/hgext/pager.py", line 160, in pagecmd
return orig(ui, options, cmd, cmdfunc)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 1017, in
_runcommand
return checkargs()
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 978, in
checkargs
return cmdfunc()
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 884, in

d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 1005, in
check
return func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/mercurial/extensions.py", line 204, in
closure
return func(*(args + a), **kw)
  File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 1005, in
check
return func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/hgext/mq.py", line 3519, in mqcommand
return orig(ui, repo, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 1005, in
check
return func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/hgext/rebase.py", line 404, in rebase
collapsef, target)
  File "/usr/lib/python2.7/dist-packages/hgext/rebase.py", line 688, in
rebasenode
labels=['dest', 'source'])
  File "/usr/lib/python2.7/dist-packages/mercurial/merge.py", line 1598, in
update
stats = applyupdates(repo, actions, wc, p2, overwrite, labels=labels)
  File "/usr/lib/python2.7/dist-packages/mercurial/merge.py", line 1259, in
applyupdates
complete, r = ms.preresolve(f, wctx)
  File "/usr/lib/python2.7/dist-packages/mercurial/merge.py", line 539, in
preresolve
return self._resolve(True, dfile, wctx)
  File "/usr/lib/python2.7/dist-packages/mercurial/merge.py", line 493, in
_resolve
labels=self._labels)
  File "/usr/lib/python2.7/dist-packages/mercurial/filemerge.py", line 681, in
premerge
return _filemerge(True, repo, mynode, orig, fcd, fco, fca, labels=labels)
  File "/usr/lib/python2.7/dist-packages/mercurial/filemerge.py", line 562, in
_filemerge
if not fco.cmp(fcd): # files identical?
  File "/usr/lib/python2.7/dist-packages/mercurial/extensions.py", line 204, in
closure
return func(*(args + a), **kw)
  File 

[Bug 5367] New: server.validate may scan every file in manifest

2016-09-13 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5367

Bug ID: 5367
   Summary: server.validate may scan every file in manifest
   Product: Mercurial
   Version: default branch
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: bug
  Priority: normal
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: gregory.sz...@gmail.com
CC: mercurial-de...@selenic.com

From changegroup.py:

needfiles = {}
if repo.ui.configbool('server', 'validate', default=False):
# validate incoming csets have their manifests
for cset in xrange(clstart, clend):
mfnode = repo.changelog.read(
repo.changelog.node(cset))[0]
mfest = repo.manifest.readdelta(mfnode)
# store file nodes we must see
for f, n in mfest.iteritems():
needfiles.setdefault(f, set()).add(n)

If the manifest is a full manifest (not a delta), readdelta() will return
*every* entry in the manifest. This will result in code later in changegroup.py
opening the revlog for each file in the manifest and verifying the revision
exists.

When this occurs on a "very large repo" (especially when said repo is hosted on
a slow filesystem like NFS), it can result in delays of dozens of seconds or
even several minutes while the filelogs are opened and verified.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5368] New: hard to recover when hook interrupts strip

2016-09-14 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5368

Bug ID: 5368
   Summary: hard to recover when hook interrupts strip
   Product: Mercurial
   Version: default branch
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: strip
  Assignee: bugzi...@selenic.com
  Reporter: martinv...@google.com
CC: mercurial-de...@selenic.com

The script below creates two sibling commits (1 and 2) both parented to another
commit (0). It then strips commit 1, which means that it will attempt to put 2
in a bundle, then strip 1, then unbundle 2. However, since the
pretxnchangegroup fails, that will not happen, and the repository is left with
only commit 0 and the dirstate parent still pointing to the bundled commit 2.
Output will be something like this:

saved backup bundle to $repo/.hg/strip-backup/5b7008f9d916-f6770a54-backup.hg
transaction abort!
rollback completed
strip failed, full bundle stored in
'$repo/.hg/strip-backup/5b7008f9d916-f6770a54-backup.hg'
abort: pretxnchangegroup.bad hook exited with status 1
warning: ignoring unknown working parent c8df5b14b02e!

It mentions the same bundle twice, but that's a backup of the stripped 1 that
the user did not want. That's fine to mention, but it's more important to
mention the bundled 2 that the user wanted to keep. Fortunately, that bundle
does exist, so as long as the user knows to look for it, there's nothing lost.

Here's the script:
hg init strip-bug
cd strip-bug
echo a > a
hg add a
hg ci -m a
echo b > b
hg add b
hg ci -m b
hg co .^
echo c > c
hg add c
hg ci -m c
hg log -G
hg strip 1 --config hooks.pretxnchangegroup.bad=false --debug
hg log -G

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5370] New: Rebase should be done in topological order

2016-09-16 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5370

Bug ID: 5370
   Summary: Rebase should be done in topological order
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: All
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: rebase
  Assignee: bugzi...@selenic.com
  Reporter: quanxunz...@gmail.com
CC: mercurial-de...@selenic.com

I suggest that rebase should be done in topological order, for two reasons:

1. it would make rebasing faster, because it would minimize the total number of
files to be checked out in the process, as it don't need to switch back and
forth between branches.

2. it makes resolving conflicts easier as user has a better context.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5365] New: pushurl is not used for "hg outgoing"

2016-09-09 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5365

Bug ID: 5365
   Summary: pushurl is not used for "hg outgoing"
   Product: Mercurial
   Version: 3.9.1
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: g...@reaperworld.com
CC: mercurial-de...@selenic.com

The following output is pretty self explanatory.  But just to be clear, I was
expecting "hg outgoing" to check ssh://h...@bitbucket.org/rw_grim/pidgin and not
ssh://h...@bitbucket.org/pidgin/main

$ head -n 5 .hg/hgrc
# example repository config (see "hg help config" for more info)
[paths]
default = ssh://h...@bitbucket.org/rw_grim/pidgin
upstream = ssh://h...@bitbucket.org/pidgin/main
upstream:pushurl = ssh://h...@bitbucket.org/rw_grim/pidgin
$ hg outgoing upstream
comparing with ssh://h...@bitbucket.org/pidgin/main
searching for changes

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5366] New: Phantom commits reported by `hg in` that can't be pulled

2016-09-12 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5366

Bug ID: 5366
   Summary: Phantom commits reported by `hg in` that can't be
pulled
   Product: Mercurial
   Version: 3.9.1
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: evolution
  Assignee: bugzi...@selenic.com
  Reporter: r...@perspexis.com
CC: mercurial-de...@selenic.com,
pierre-yves.da...@ens-lyon.org

I am running hg 3.9.1 and evolve 5.4.1.

I have a repo where `hg in` reports two incoming changesets, but `hg pull` sees
nothing.  They do not appear to be hidden changesets.  There *are* changesets
with the same commit messages, but they aren't the same changesets.

Here's a summary of the situation:

```
$ hg pull
pulling from 
searching for changes
no changes found
$ hg in
comparing with 
searching for changes
changeset:   312:21a2dfe8857b
user:russ
date:Wed Jul 27 16:45:36 2016 -0400
summary: update requirements.txt and added top_level_requirements.txt

changeset:   321:f002fa11364c
user:russ
date:Fri Sep 09 14:39:24 2016 -0400
summary: russfixes on error capture issues

$ hg log --hidden | grep "update requirements.txt" -A 0 -B 3
changeset:   320:38f951d76508
user:russ
date:Wed Jul 27 16:45:36 2016 -0400
summary: update requirements.txt and added top_level_requirements.txt
$ hg log --hidden | grep "russfixes on error" -A 0 -B 3
changeset:   325:86a8a1d53052
user:russ
date:Fri Sep 09 14:39:24 2016 -0400
summary: russfixes on error capture issues
```

Note that the changesets reported by `hg in` don't match the ones found by `hg
log`.  Also note that the --hidden is not needed to find the matching commit
messages.

This problem existed in this repo with earlier mercurial and evolve versions
(hg 3.8 and evolve version at "@-as-of-3 months-ago") as well.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5380] New: Unable to clone project with error 123

2016-09-26 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5380

Bug ID: 5380
   Summary: Unable to clone project with error 123
   Product: Mercurial
   Version: 3.7.3
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: karme...@gmail.com
CC: mercurial-de...@selenic.com

Created attachment 1931
  --> https://bz.mercurial-scm.org/attachment.cgi?id=1931=edit
Error message

When trying to clone a repository, there is this error:

http://i.imgur.com/Vlo9Din.png

Note this error is not caused by folder name where the project is being cloned,
or because some file name in the project.

The error appear for one user in Windows 10.

-Another user was succeful when cloning from Windows 10 too

-All filenames and folder names are a-zA-Z characters

-The path where the project was being cloned was C:\project


Thanks

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5381] New: Ability to move list of revisions from one branch to another

2016-09-26 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5381

Bug ID: 5381
   Summary: Ability to move list of revisions from one branch to
another
   Product: Mercurial
   Version: 3.9.1
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: convert
  Assignee: bugzi...@selenic.com
  Reporter: cow...@bbs.darktech.org
CC: duri...@gmail.com, mercurial-de...@selenic.com

When converting a Mercurial repository to Git (not my idea, don't shoot the
messenger) I ran across this issue:
https://github.com/frej/fast-export/issues/9

In my case, it turns out that a branch had two heads. One head was marked as
"closed" while the other continued development. In order to please the Git
gods, I wanted to rename all revisions on the "closed" head to a different
name.

--branchmap allows move all revisions on a particular branch to a different
branch, but I need to only move a subset of the revisions.

For example, given:

@
|
o  __
|  /
o o
|/
o

I want to rename all revisions on the right (closed) branch without touching
the left branch.

http://stackoverflow.com/a/4673148/14731 provides a partial solution but "hg
rebase" requires the creation of a dummy commit containing the new branch new
on top of which we will rebase.

My request is to end up with the exact same number of commits, containing the
exact same metadata except for the branch name.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5390] New: Error running ?cmd=batch : "ValueError: need more than 0 values to unpack"

2016-10-05 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5390

Bug ID: 5390
   Summary: Error running ?cmd=batch : "ValueError: need more than
0 values to unpack"
   Product: Mercurial
   Version: 3.8.1
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: hglib
  Assignee: bugzi...@selenic.com
  Reporter: mapp...@gmail.com
CC: mercurial-de...@selenic.com

Hi,

A fresh clone of a small test repository works like:

127.0.0.1 - - [05/Oct/2016 20:04:41] "GET /?cmd=capabilities HTTP/1.1"
200 -
127.0.0.1 - - [05/Oct/2016 20:04:41] "GET /?cmd=batch HTTP/1.1" 200 -
x-hgarg-1:cmds=heads+%3Bknown+nodes%3D

That works fine for hg and hg serve.

curl -H 'x-hgarg-1:cmds=heads+%3Bknown+nodes%3D'
'http://127.0.0.1:8000/?cmd=batch'
29821ff8dd2176b3f4e07b5850036bc031d68f00
;

I am attempting to wrap the wire protocol handler `hg --stdio` in a web server,
i guess similar to hgweb/protocol.py, in order to integrate with a larger
system.

Transformations works fine for the first command:

echo $'capabilities\n' | hg serve --stdio
356
lookup changegroupsubset branchmap pushkey known getbundle unbundlehash
batch ...

But for the second command, i have a problem:

echo $'batch\ncmds 19\nheads ;known nodes=\n' | hg serve --stdio

** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit
(AMD64)]
** Mercurial Distributed SCM (version 3.8.1)
** Extensions loaded: gpg, histedit, rebase, shelve, strip
Traceback (most recent call last):
  File "hg", line 49, in 
  File "mercurial\dispatch.pyo", line 59, in run
  File "mercurial\dispatch.pyo", line 125, in dispatch
  File "mercurial\dispatch.pyo", line 204, in _runcatch
  File "mercurial\dispatch.pyo", line 887, in _dispatch
  File "mercurial\dispatch.pyo", line 632, in runcommand
  File "mercurial\dispatch.pyo", line 1017, in _runcommand
  File "mercurial\dispatch.pyo", line 978, in checkargs
  File "mercurial\dispatch.pyo", line 884, in 
  File "mercurial\util.pyo", line 1005, in check
  File "mercurial\commands.pyo", line 6465, in serve
  File "mercurial\sshserver.pyo", line 103, in serve_forever
  File "mercurial\sshserver.pyo", line 121, in serve_one
  File "mercurial\wireproto.pyo", line 539, in dispatch
  File "mercurial\sshserver.pyo", line 41, in getargs
ValueError: need more than 0 values to unpack

Is this crash a DoS or? am i just misunderstanding the necessary transformation
from X-Hgarg-1 parameters?

Thanks for your time
mappu

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5391] New: mercurial.util.atomictempfile should clean temp file when failed

2016-10-06 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5391

Bug ID: 5391
   Summary: mercurial.util.atomictempfile should clean temp file
when failed
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: bug
  Priority: normal
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: dondya...@gmail.com
CC: andcycle-bz.mercurial-scm@andcycle.idv.tw,
bugzi...@selenic.com,
kbullock+mercur...@ringworld.org,
mercurial-de...@selenic.com, y...@tcha.org
Depends on: 5358

+++ This bug was initially created as a clone of Bug #5358 +++

spot this issue on windows,
because windows have access protection around opened file by default.

here comes the detail,

as I use TortoiseHG,
I used to open Hg Commit and Hg Workbench at the same time,
which create some race condition when access hg repository,

when both window trying to update thgstatus file with atomictempfile,
there is no guarantee the close/rename operation at class atomictempfile will
success,

which create numerous number of .thgstatus-? file in .hg folder,
stress out the filesystem.


Referenced Bugs:

https://bz.mercurial-scm.org/show_bug.cgi?id=5358
[Bug 5358] mercurial.util.atomictempfile should clean temp file when failed
-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5392] New: Exception happened when downloading zip file.

2016-10-06 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5392

Bug ID: 5392
   Summary: Exception happened when downloading zip file.
   Product: Mercurial
   Version: 3.9.1
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: hgweb
  Assignee: bugzi...@selenic.com
  Reporter: yoyo357@hotmail.com
CC: mercurial-de...@selenic.com

169.xxx.xxx.xxx - - [06/Oct/2016 08:59:49] "GET /archive/tip.zip HTTP/1.1" 500
-
169.xxx.xxx.xxx - - [06/Oct/2016 08:59:49] Exception happened during processing
request '/archive/tip.zip':
Traceback (most recent call last):
  File "mercurial\hgweb\server.pyo", line 99, in do_POST
  File "mercurial\hgweb\server.pyo", line 92, in do_write
  File "mercurial\hgweb\server.pyo", line 160, in do_hgweb
  File "mercurial\hgweb\hgweb_mod.pyo", line 308, in run_wsgi
  File "mercurial\hgweb\hgweb_mod.pyo", line 423, in _runwsgi
  File "mercurial\hgweb\webcommands.pyo", line 1068, in archive
  File "mercurial\archival.pyo", line 314, in archive
  File "mercurial\archival.pyo", line 303, in write
  File "mercurial\archival.pyo", line 243, in addfile
  File "zipfile.pyo", line 1246, in writestr
  File "mercurial\archival.pyo", line 192, in __getattr__
AttributeError: 'wsgirequest' object has no attribute 'seek'

Exception AttributeError: "'wsgirequest' object has no attribute 'seek'" in
> ignored

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5397] New: With evolve, hg commit -i crashes on an empty repo

2016-10-07 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5397

Bug ID: 5397
   Summary: With evolve, hg commit -i crashes on an empty repo
   Product: Mercurial
   Version: default branch
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: evolution
  Assignee: bugzi...@selenic.com
  Reporter: arcppzju+hg...@gmail.com
CC: mercurial-de...@selenic.com,
pierre-yves.da...@ens-lyon.org

% hg init repo; cd repo;
% HGRCPATH= hg commit -i --config 'ui.username=A ' --config
'extensions.evolve=' --trace
no changes to record
Traceback (most recent call last):
  File "/home/quark/clowncopter/mercurial/dispatch.py", line 208, in
_runcatchfunc
return _dispatch(req)
  File "/home/quark/clowncopter/mercurial/dispatch.py", line 910, in _dispatch
cmdpats, cmdoptions)
  File "/home/quark/clowncopter/mercurial/dispatch.py", line 653, in runcommand
ret = _runcommand(ui, options, cmd, d)
  File "/home/quark/clowncopter/mercurial/dispatch.py", line 918, in
_runcommand
return cmdfunc()
  File "/home/quark/clowncopter/mercurial/dispatch.py", line 907, in 
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/home/quark/clowncopter/mercurial/util.py", line 1035, in check
return func(*args, **kwargs)
  File "/home/quark/clowncopter/mercurial/extensions.py", line 220, in closure
return func(*(args + a), **kw)
  File "/home/quark/clowncopter/mercurial/util.py", line 1035, in check
return func(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/hgext/evolve.py", line 2849, in
commitwrapper
new = repo['-1']
  File "/home/quark/clowncopter/mercurial/localrepo.py", line 534, in
__getitem__
return context.changectx(self, changeid)
  File "/home/quark/clowncopter/mercurial/context.py", line 514, in __init__
_("unknown revision '%s'") % changeid)
RepoLookupError: unknown revision '-1'
abort: unknown revision '-1'!

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5393] New: run-tests.py uses pipe.wait()

2016-10-06 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5393

Bug ID: 5393
   Summary: run-tests.py uses pipe.wait()
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Mac OS
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: fij...@gmail.com
CC: mercurial-de...@selenic.com

pipe.wait() is unreliable way to do those things. From the docs:

Warning This will deadlock when using stdout=PIPE and/or stderr=PIPE and the
child process generates enough output to a pipe such that it blocks waiting for
the OS pipe buffer to accept more data. Use communicate() to avoid that.

Don't ask me why it can't just be implemented as communicate() then, but it is
what it is. I think it's a cause of some deadlocks every now and again while
running tests

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5398] New: annotate-info popup in annotate page is hard to mouse over

2016-10-08 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5398

Bug ID: 5398
   Summary: annotate-info popup in annotate page is hard to mouse
over
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Mac OS
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: hgweb
  Assignee: bugzi...@selenic.com
  Reporter: arai.un...@gmail.com
CC: mercurial-de...@selenic.com

Initially filed as https://bugzilla.mozilla.org/show_bug.cgi?id=1308152

annotate-info box added by the following change is wrapped into next line if
there is revision number in the same cell:
  https://selenic.com/hg/rev/9c37df347485

it makes hard to move mouse to annotate-info box, after hovering revision
number:
  https://bug1308152.bmoattachments.org/attachment.cgi?id=8798356
(the screenshot is for hg.mozilla.org, it uses different template, but the
issue is same)

adding "white-space: nowrap" to td.annotate will fix this issue.

patch is ready, will post it to mailing list.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5394] New: Want a template filter to turn a repo-absolute path into a relative path

2016-10-07 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5394

Bug ID: 5394
   Summary: Want a template filter to turn a repo-absolute path
into a relative path
   Product: Mercurial
   Version: default branch
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: templater
  Assignee: bugzi...@selenic.com
  Reporter: duri...@gmail.com
CC: mercurial-de...@selenic.com

It'd be nice to take a path that's repo-root-absolute and ram it through a
filter (eg path|relpath or something) and make it relative.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5395] New: template filter for terminal-sized output

2016-10-07 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5395

Bug ID: 5395
   Summary: template filter for terminal-sized output
   Product: Mercurial
   Version: default branch
  Hardware: PC
OS: Mac OS
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: templater
  Assignee: bugzi...@selenic.com
  Reporter: duri...@gmail.com
CC: mercurial-de...@selenic.com

Seems reasonable. Make it so.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5396] New: Want a template filter to turn a repo-absolute path into a full-absolute path

2016-10-07 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5396

Bug ID: 5396
   Summary: Want a template filter to turn a repo-absolute path
into a full-absolute path
   Product: Mercurial
   Version: default branch
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: templater
  Assignee: bugzi...@selenic.com
  Reporter: rdama...@google.com
CC: mercurial-de...@selenic.com

Related to 5394 - it'd be nice to have a way to filter a path in a way that
makes it fully-absolute (rather than relative to the repo's root).

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5399] New: setup.py needs a command equivalent to "make local"

2016-10-09 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5399

Bug ID: 5399
   Summary: setup.py needs a command equivalent to "make local"
   Product: Mercurial
   Version: stable branch
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: packaging
  Assignee: bugzi...@selenic.com
  Reporter: gabor.stefa...@nng.com
CC: duri...@gmail.com, mercurial-de...@selenic.com

On Windows, no first-party "make" command is available. This makes it
impossible to do "make local", a command with no setup.py equivalent.

It should instead be possible to do "python setup.py build -l" or "python
setup.py build local".

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5402] New: During an RC window, "pip install mercurial" installs an RC version

2016-10-09 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5402

Bug ID: 5402
   Summary: During an RC window, "pip install mercurial" installs
an RC version
   Product: Mercurial
   Version: 3.9-rc
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: packaging
  Assignee: bugzi...@selenic.com
  Reporter: gabor.stefa...@nng.com
CC: duri...@gmail.com, mercurial-de...@selenic.com

Pip apparently can't recognize Mercurial RCs as pre-release. As a result, "pip
install mercurial" with no version specified can inadvertently install an RC
version.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5400] New: Build using setup.py fails with Visual C++ compiler for Python 2.7; "pip install" works

2016-10-09 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5400

Bug ID: 5400
   Summary: Build using setup.py fails with Visual C++ compiler
for Python 2.7; "pip install" works
   Product: Mercurial
   Version: default branch
  Hardware: All
OS: Windows
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: packaging
  Assignee: bugzi...@selenic.com
  Reporter: gabor.stefa...@nng.com
CC: duri...@gmail.com, mercurial-de...@selenic.com

On Windows, Visual C++ compiler for Python 2.7 is the recommended compiler to
use for building the C parts of Python modules. With this compiler, "pip
install mercurial" or "pip install ./hg-clone" works, but not "python setup.py
build", as the latter tries to use the old distutils package, which can't find
the compiler.

Setting FORCE_SETUPTOOLS=1 helps. We should probably default to setuptools, at
least for Windows.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5375] New: hg import crash

2016-09-21 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5375

Bug ID: 5375
   Summary: hg import crash
   Product: Mercurial
   Version: default branch
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: r...@fb.com
CC: mercurial-de...@selenic.com

This crashes hg:

echo -e "diff --git a/a b/b\nrename from a\nrename to b" | hg import -

Stacktrace:

+  applying patch from stdin
+  a not tracked!
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.5 (default, Nov 20 2015, 02:00:19) [GCC 4.8.5 20150623 (Red
Hat 4.8.5-4)]
+  ** Mercurial Distributed SCM (version 3.9+200-e2b35a4ff9c3)
+  ** Extensions loaded:
+  Traceback (most recent call last):
+File "/data/users/rmcelroy/facebook-hg-rpms/hg-crew/hg", line 45, in

+  mercurial.dispatch.run()
+File
"/data/users/rmcelroy/facebook-hg-rpms/hg-crew/mercurial/dispatch.py", line 60,
in run
+  sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+File
"/data/users/rmcelroy/facebook-hg-rpms/hg-crew/mercurial/dispatch.py", line
126, in dispatch
+  ret = _runcatch(req)
+File
"/data/users/rmcelroy/facebook-hg-rpms/hg-crew/mercurial/dispatch.py", line
216, in _runcatch
+  return callcatch(ui, _runcatchfunc)
+File
"/data/users/rmcelroy/facebook-hg-rpms/hg-crew/mercurial/dispatch.py", line
225, in callcatch
+  return func()
+File
"/data/users/rmcelroy/facebook-hg-rpms/hg-crew/mercurial/dispatch.py", line
205, in _runcatchfunc
+  return _dispatch(req)
+File
"/data/users/rmcelroy/facebook-hg-rpms/hg-crew/mercurial/dispatch.py", line
897, in _dispatch
+  cmdpats, cmdoptions)
+File
"/data/users/rmcelroy/facebook-hg-rpms/hg-crew/mercurial/dispatch.py", line
650, in runcommand
+  ret = _runcommand(ui, options, cmd, d)
+File
"/data/users/rmcelroy/facebook-hg-rpms/hg-crew/mercurial/dispatch.py", line
906, in _runcommand
+  return cmdfunc()
+File
"/data/users/rmcelroy/facebook-hg-rpms/hg-crew/mercurial/dispatch.py", line
894, in 
+  d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
+File "/data/users/rmcelroy/facebook-hg-rpms/hg-crew/mercurial/util.py",
line 1035, in check
+  return func(*args, **kwargs)
+File
"/data/users/rmcelroy/facebook-hg-rpms/hg-crew/mercurial/commands.py", line
4963, in import_
+  msgs, hg.clean)
+File "/data/users/rmcelroy/facebook-hg-rpms/hg-crew/mercurial/cmdutil.py",
line 998, in tryimportone
+  files=files, eolmode=None, similarity=sim / 100.0)
+File "/data/users/rmcelroy/facebook-hg-rpms/hg-crew/mercurial/patch.py",
line 2099, in patch
+  similarity)
+File "/data/users/rmcelroy/facebook-hg-rpms/hg-crew/mercurial/patch.py",
line 2072, in internalpatch
+  return patchbackend(ui, backend, patchobj, strip, prefix, files,
eolmode)
+File "/data/users/rmcelroy/facebook-hg-rpms/hg-crew/mercurial/patch.py",
line 2057, in patchbackend
+  eolmode=eolmode)
+File "/data/users/rmcelroy/facebook-hg-rpms/hg-crew/mercurial/patch.py",
line 1908, in applydiff
+  prefix=prefix, eolmode=eolmode)
+File "/data/users/rmcelroy/facebook-hg-rpms/hg-crew/mercurial/patch.py",
line 1954, in _applydiff
+  assert data is not None
+  AssertionError
+  [1]

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5377] New: Enabling pager on interactive commands breaks them

2016-09-22 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5377

Bug ID: 5377
   Summary: Enabling pager on interactive commands breaks them
   Product: Mercurial
   Version: default branch
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: pager
  Assignee: bugzi...@selenic.com
  Reporter: duri...@gmail.com
CC: mercurial-de...@selenic.com

Eg if you have

[pager]
attend = [some list that includes shelve]

then this happens:

$ hg shelve -i
abort: running non-interactively

reporting a bug so that interested parties can have something to watch for the
inevitable day when someone refactors all of pager.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5378] New: hgrc points to the wrong place when using pooled clones

2016-09-22 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5378

Bug ID: 5378
   Summary: hgrc points to the wrong place when using pooled
clones
   Product: Mercurial
   Version: 3.8.2
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: share
  Assignee: bugzi...@selenic.com
  Reporter: vgatien-ba...@janestreet.com
CC: mercurial-de...@selenic.com

I expect that when calling 'hg clone abc', the default path of the resulting
clone is abc. Pooled clones break this expectation, because the hgrc points to
the path of the initial clone.

Demonstration:
#!/bin/bash
cd /tmp/
rm -rf a a-share b b-share b-clone pool
hg init a; (cd a; echo a > a; hg add -q a; hg commit -q -m a)
hg clone -q a b -U
hg --config share.pool=/tmp/pool clone a a-share -U -q

# now we have two clones a and b with same rev 0,
# and one clone in the pool points to a, here is the bug
hg --config share.pool=/tmp/pool clone b b-share -U -q
head -n 2 b-share/.hg/hgrc
# prints
# [paths]
# default = /tmp/a
hg clone b b-clone -U -q
head -n 3 b-clone/.hg/hgrc
# prints
# # example repository config (see "hg help config" for more info)
# [paths]
# default = /tmp/b

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5374] New: revsets: add around(set, depth) and extend ancestors(set[, depth]) / descendants(set[, depth])

2016-09-20 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5374

Bug ID: 5374
   Summary: revsets: add around(set, depth) and extend
ancestors(set[, depth]) / descendants(set[, depth])
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: timel...@gmail.com
CC: mercurial-de...@selenic.com

When investigating (hg log -G, hg bisect, ...) it's common to have a sense of
what an interesting commit is, but want to see what's around it (ancestors to
some depth, descendants to some depth).

We propose to add:
around(set, depth) -- which will include all* changesets which are
ancestors/descendants of a changeset in set

and add an optional argument depth to ancestors(set) and descendants(set) as:
ancestors(set[, depth]) -- will include depth levels of ancestors of changesets
in set
descendants(set[, depth]) -- will include depth levels of descendants of
changesets in set

ancestors(set, 0) == set
descendants(set, 0) == set
around(set, 0) == set
around(set, 1) = ancestors(set, 1) + descendants(set, 1)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5371] New: Inconsistent grafting behaviour for "hg graft" with origins and their destinations

2016-09-16 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5371

Bug ID: 5371
   Summary: Inconsistent grafting behaviour for "hg graft" with
origins and their destinations
   Product: Mercurial
   Version: stable branch
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: hannes.christian.oldenb...@gmail.com
CC: mercurial-de...@selenic.com

Given two revs 'a' and 'b' for which "destination(a) = b" and a third rev 'c'
to graft to:

"hg graft a && hg graft b"  will graft 'a' in the first run and skip 'b' with a
warning,
that it's already grafted.

However running "hg graft a b", will try to graft both without a warning.

Also after "hg graft a" onto c "hg graft b" or "hg graft a" will both skip,
however "hg graft a b"
will only skip b but try to graft a.

Example:

hg init;
touch a && hg add a && hg ci -ma;
touch aa && hg add aa && hg ci -maa;
hg update -r 0; #a 
touch ab && hg add ab && hg ci -mab;
hg update -r 0; #a
touch ac && hg add ac && hg ci -mac;
hg update -r 1; #aa
hg graft 2;
hg log -G;
hg update -r 3;

"hg log -G --template '{rev}: {desc}\n'
o  4: ab
|
| @  3: ac
| |
| | o  2: ab
| |/
o |  1: aa
|/
o  0: a

First case: 

Running "hg graft 2 && hg graft 4" from this state gives: 
grafting 2:ad9a61009f92 "ab"
skipping already grafted revision 4:3be803d3419c (5:cea991ddcf20 also has
origin 2:ad9a61009f92)

Running "hg graft 2 4" from this state gives:
grafting 2:010db3795a82 "ab"
grafting 4:099239fefcb8 "ab" (tip)
note: graft of 4:099239fefcb8 created no changes to commit

Second case:

Running "hg graft 2 && hg graft 2; hg graft 4;" gives: 
grafting 2:efa7c40f520f "ab"
skipping revision 2:efa7c40f520f (already grafted to 5:9d16a67d5a26)
skipping already grafted revision 4:ce90f6b72b78 (5:9d16a67d5a26 also has
origin 2:efa7c40f520f)

Running "hg graft 2 && hg graft 2 4" gives:
grafting 2:00a645073646 "ab"
skipping revision 2:00a645073646 (already grafted to 5:d612afdb0ceb)
grafting 4:b2b4b47d2a4f "ab"
note: graft of 4:b2b4b47d2a4f created no changes to commit

This comes down to the following lines in `_dograft()` from
`mercurial/commands.py:

ids = {}
for ctx in repo.set("%ld", revs):
ids[ctx.hex()] = ctx.rev()
n = ctx.extra().get('source')
if n:
ids[n] = ctx.rev()


If `n` is already in `ids` it will replace it and afterwards there is no logic
to check for this case:

This could be fixed by writing sources into a seperate dict and then accounting
for the case that a rev is 
in both.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5373] New: test-highlight.t fails when ipython is installed

2016-09-17 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5373

Bug ID: 5373
   Summary: test-highlight.t fails when ipython is installed
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Mac OS
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: fij...@gmail.com
CC: mercurial-de...@selenic.com

Simple reproduction: pip install ipython
python run-tests.py --pure test-highlight.t

There are some magic things with state going on in import machinery in
demandimport, I don't want to know

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5376] New: hg log -pf FILE does not print patches sometimes when it should

2016-09-22 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5376

Bug ID: 5376
   Summary: hg log -pf FILE does not print patches sometimes when
it should
   Product: Mercurial
   Version: default branch
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: arcppzju+hg...@gmail.com
CC: mercurial-de...@selenic.com

Test case:

  $ cat >> $HGRCPATH << EOF
  > [diff]
  > git=1
  > [experimental]
  > evolution = createmarkers
  > EOF

  $ hg init repo
  $ cd repo

  $ for i in 1 2; do
  >   echo $i >> a
  >   hg commit -A a -m $i
  > done

  $ hg update 0 -q
  $ echo 2 >> a
  $ touch b
  $ hg commit -A b -A a -m '2 with b' -q

the following works as expected

  $ hg log -G -p -T '{rev}:{node|short} {desc}'
  @  2:281cd4d94b56 2 with bdiff --git a/a b/a
  |  --- a/a
  |  +++ b/a
  |  @@ -1,1 +1,2 @@
  |   1
  |  +2
  |  diff --git a/b b/b
  |  new file mode 100644
  |
  | o  1:1ed24be7e7a0 2diff --git a/a b/a
  |/   --- a/a
  |+++ b/a
  |@@ -1,1 +1,2 @@
  | 1
  |+2
  |
  o  0:eff892de26ec 1diff --git a/a b/a
 new file mode 100644
 --- /dev/null
 +++ b/a
 @@ -0,0 +1,1 @@
 +1

with -p FILE, it produces wrong output:

  $ hg log -G -p -f a -T '{rev}:{node|short} {desc}'
  @  2:281cd4d94b56 2 with b
  |
  o  0:eff892de26ec 1diff --git a/a b/a
 new file mode 100644
 --- /dev/null
 +++ b/a
 @@ -0,0 +1,1 @@
 +1

expected output is:

  $ hg log -G -p -f a -T '{rev}:{node|short} {desc}'
  @  2:281cd4d94b56 2 with b
  |  --- a/a
  |  +++ b/a
  |  @@ -1,1 +1,2 @@
  |   1
  |  +2
  |
  o  0:eff892de26ec 1diff --git a/a b/a
 new file mode 100644
 --- /dev/null
 +++ b/a
 @@ -0,0 +1,1 @@
 +1

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5331] New: record --amend doesn't work

2016-08-18 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5331

Bug ID: 5331
   Summary: record --amend doesn't work
   Product: Mercurial
   Version: 3.8.2
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: record
  Assignee: bugzi...@selenic.com
  Reporter: techto...@gmail.com
CC: mercurial-de...@selenic.com

>hg record --amend
no changes to record

But there is always one last commit to amend.

>hg record --help
...
--amend   amend the parent of the working directory
...

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5332] New: prefill commit message on histedit

2016-08-18 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5332

Bug ID: 5332
   Summary: prefill commit message on histedit
   Product: Mercurial
   Version: 3.8.2
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: histedit
  Assignee: bugzi...@selenic.com
  Reporter: techto...@gmail.com
CC: mercurial-de...@selenic.com

> hg histedit
> hg record

When editing commit with `hg record` inside histedit session, Mercurial
proposes to enter new commit message. It would be more intuitive if it included
existing one.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5333] New: Please register evolve extension to pypi

2016-08-18 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5333

Bug ID: 5333
   Summary: Please register evolve extension to pypi
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: All
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: evolution
  Assignee: bugzi...@selenic.com
  Reporter: thena...@gmail.com
CC: mercurial-de...@selenic.com,
pierre-yves.da...@ens-lyon.org

Our vcsfile project (https://www.cubicweb.org/project/cubicweb-vcsfile) is
relying on the evolve extension, but there is currently no proper way to add it
as a dependency, beside our home-baked debian package. This is annoying to e.g.
easily setup a jenkins test environement.

Having it available on pypi would simplify things, for a low-cost on your side.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5344] New: abort: this diff is too large to be displayed

2016-08-25 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5344

Bug ID: 5344
   Summary: abort: this diff is too large to be displayed
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: record
  Assignee: bugzi...@selenic.com
  Reporter: timel...@gmail.com
CC: mercurial-de...@selenic.com

[timeless@gcc2-power8 PowerShell]$ hg commit -i -m 'spelling fixes: comments'
starting interactive selection
abort: this diff is too large to be displayed

tested:
Mercurial Distributed SCM (version
3.93.8.4+0-419269ca47c6+3ebcd1bd8a0c+20160818)
Mercurial Distributed SCM (version 3.9+166-06b9a6544316)

[timeless@gcc2-power8 PowerShell]$ hg diff --stat|tail -1
 961 files changed, 3397 insertions(+), 3397 deletions(-)

The changeseries is available from my github repo.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5350] New: Decide what to do when grafting changes to files that never existed on the target branch

2016-08-26 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5350

Bug ID: 5350
   Summary: Decide what to do when grafting changes to files that
never existed on the target branch
   Product: Mercurial
   Version: 3.9
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: gabor.stefa...@nng.com
CC: mercurial-de...@selenic.com
Depends on: 4028

This is a followup to bug 4028.

Consider the following DAG:
A -> B -> C
 \-> D

B creates a file, that C modifies. We then graft or rebase C onto D.
A confusing prompt is thrown: "other [graft] changed file, which local [local]
deleted".

From Hg's standpoint, this prompt makes sense, since it views the DAG like
this:
B -> C
 \-> A -> D

Since A->B is reversed, the file creation in A->B is treated as a deletion in
B->A.

However, the user doesn't see a graft/rebase as a "3-way merge in a rotated
DAG" (he may not even care about what DAGs or 3-way merges are), but as
"copying/moving a change to a new location". With this mindset, the prompt
makes no sense: the file was not deleted on the "local" side; instead it never
existed.

Furthermore, if the user chooses "keep changed", the restored filename doesn't
take directory renames into account.
That is, if the directory containing the new file is renamed either between A
and D, or between A and B, restoring the file will create a directory at the
location where the file is in B, rather than putting the restored file in the
corresponding directory in D.

It needs to be decided what to do in this case - should we keep the prompt
(reworded to avoid claiming a deletion that never was), and fix up directory
rename tracking, or just drop such changes automatically?


Referenced Bugs:

https://bz.mercurial-scm.org/show_bug.cgi?id=4028
[Bug 4028] Graft fails when files have been moved in an ancestor revision
-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5345] New: commit -i should be smarter about replacement lines

2016-08-25 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5345

Bug ID: 5345
   Summary: commit -i should be smarter about replacement lines
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: record
  Assignee: bugzi...@selenic.com
  Reporter: timel...@gmail.com
CC: mercurial-de...@selenic.com

using `hg commit -i` you can get a hunk like this:

   [~] @@ -533,8 +533,8 @@ namespace Microsoft.PowerShell.Commands.
/// 
/// helper to to add any pre-load intrinsics to the db
/// 
  [x]  -/// db being iniitalized
  [ ]  -private static void AddPreLoadInstrinsics(TypeInfoDataBase
db)
  [x]  +/// db being initialized
  [ ]  +private static void AddPreLoadIntrinsics(TypeInfoDataBase
db)
{
// NOTE: nothing to add for the time being. Add here if
needed.
}

I expect it to be handled the same way as:
   [~] @@ -533,8 +533,8 @@ namespace Microsoft.PowerShell.Commands.
/// 
/// helper to to add any pre-load intrinsics to the db
/// 
  [x]  -/// db being iniitalized
  [x]  +/// db being initialized
  [ ]  -private static void AddPreLoadInstrinsics(TypeInfoDataBase
db)
  [ ]  +private static void AddPreLoadIntrinsics(TypeInfoDataBase
db)
{
// NOTE: nothing to add for the time being. Add here if
needed.
}

There are various ways to make this more practical, one is to allow users to
reorder lines using extra keys (as chistedit does).

Another would be to try to identify replacement lines and automatically order
them as such initially:

   [x] @@ -533,8 +533,8 @@ namespace Microsoft.PowerShell.Commands.
/// 
/// helper to to add any pre-load intrinsics to the db
/// 
  [x]  -/// db being iniitalized
  [x]  +/// db being initialized
  [x]  -private static void AddPreLoadInstrinsics(TypeInfoDataBase
db)
  [x]  +private static void AddPreLoadIntrinsics(TypeInfoDataBase
db)
{
// NOTE: nothing to add for the time being. Add here if
needed.
}

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5385] New: log -f will complain hidden revision if rev 0 and rev "." are disconnected

2016-09-28 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5385

Bug ID: 5385
   Summary: log -f will complain hidden revision if rev 0 and rev
"." are disconnected
   Product: Mercurial
   Version: default branch
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: arcppzju+hg...@gmail.com
CC: mercurial-de...@selenic.com

Test case:

  $ cat >> $HGRCPATH << EOF
  > [extensions]
  > evolve=
  > EOF

  $ hg init repo
  $ cd repo

  $ touch a
  $ hg commit -A a -m a

  $ hg prune . -q

  $ touch b
  $ hg commit -A b -m b

Unexpected hidden revision:

  $ hg log -f
  abort: hidden revision '0'!
  (use --hidden to access hidden revisions)
  [255]

I think issue4765 is the same thing as fb adds "-f" to "log" by default with
tweakdefaults.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5382] New: histedit corrupts repository

2016-09-27 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5382

Bug ID: 5382
   Summary: histedit corrupts repository
   Product: Mercurial
   Version: 3.9
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: histedit
  Assignee: bugzi...@selenic.com
  Reporter: cow...@bbs.darktech.org
CC: mercurial-de...@selenic.com

Here is a testcase that is 100% reproducible for corrupting a repository using
histedit.

1. hg init test
2. cd test
3. echo commit1 > file.txt
4. hg add file.txt
5. hg commit -m "commit1"
6. echo commit2 > file.txt
7. hg commit -m "commit2"
8. hg update 0
9. echo commit3 > file.txt
10. hg commit -m "commit3"
11. echo commit4 > file.txt
12. hg commit -m "commit4"
13. echo [hooks] > .hg/hgrc
14. echo commit.jenkins = fail >> .hg/hgrc
15. echo incoming.jenkins = fail >> .hg/hgrc
16. echo changegroup.scm = python:fail >> .hg/hgrc
17. echo pretxnchangegroup.scm = python:fail >> .hg/hgrc
18. hg log -G

19. hg histedit 2

... change the first line from "pick" to "edit", save and quit

20. hg branch newbranch
21. hg commit -m "commit5"
22. hg histedit --continue
23. hg histedit --abort
24. hg log -G

Step 18 returns:


@  changeset:   3:acd042300874
|  tag: tip
|  user:cow...@bbs.darktech.org
|  date:Tue Sep 27 11:22:33 2016 -0400
|  summary: commit4
|
o  changeset:   2:6cd4bf5a3e25
|  parent:  0:7f1fbf9d8623
|  user:cow...@bbs.darktech.org
|  date:Tue Sep 27 11:22:33 2016 -0400
|  summary: commit3
|
| o  changeset:   1:5cf7adbb92ea
|/   user:cow...@bbs.darktech.org
|date:Tue Sep 27 11:22:32 2016 -0400
|summary: commit2
|
o  changeset:   0:7f1fbf9d8623
   user:cow...@bbs.darktech.org
   date:Tue Sep 27 11:22:32 2016 -0400
   summary: commit1


Step 24 returns:


warning: ignoring unknown working parent 0235931f44a2!
o  changeset:   1:5cf7adbb92ea
|  tag: tip
|  user:Gili Tzabari 
|  date:Tue Sep 27 11:22:32 2016 -0400
|  summary: commit2
|
o  changeset:   0:7f1fbf9d8623
   user:Gili Tzabari 
   date:Tue Sep 27 11:22:32 2016 -0400
   summary: commit1


I am expecting both steps to return the same graph.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5383] New: Continuous Integration Options for Mercurial

2016-09-27 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5383

Bug ID: 5383
   Summary: Continuous Integration Options for Mercurial
   Product: Mercurial
   Version: 3.4.2
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: infrastructure
  Assignee: bugzi...@selenic.com
  Reporter: philip.w.mcad...@intel.com
CC: kbullock+mercur...@ringworld.org,
mercurial-de...@selenic.com

We are investigating options to move to a Continuous Integration model for our
software development teams here in my business group at Intel.

We had been investigating a tool called "Bitbucket" developed by Atlassian. We
were seeking to use this tool because we utilize Atlassian's suite of tools
(JIRA, Confluence, Fisheye/Crucible, Bamboo) for software development.

During our investigation we've discovered that Bitbucket can only be used with
Git.

Do you all have any suggestions for Continuous Integration tools that would
work well with Mercurial?

Thanks.

Philip McAdams

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5388] New: have hg show similar like git show to show the commit in great detail.

2016-10-03 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5388

Bug ID: 5388
   Summary: have hg show similar like git show to show the commit
in great detail.
   Product: Mercurial
   Version: 3.9.1
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: shirisha...@gmail.com
CC: mercurial-de...@selenic.com

It would be a nice feature to have. Currently this is done by
https://slaptijack.com/software/git-show-in-hg.html but it would be nicer if
the user didn't need to do things that way and would be command compatible to
git.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5387] New: The "--pull" flag of "hg clone" does not apply to subrepos

2016-09-30 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5387

Bug ID: 5387
   Summary: The "--pull" flag of "hg clone" does not apply to
subrepos
   Product: Mercurial
   Version: default branch
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: arcppzju+hg...@gmail.com
CC: mercurial-de...@selenic.com

This is useful when you want to convert a lz4revlog repo with lz4revlog
subrepos to non-lz4revlog ones.

We may want to use some kind of "global state" (like, ui.config (which is being
abused imo), or some module level variable) to tell subrepo logic to use "pull"
when doing clones.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5386] New: When pushing to the network repo I get the error: abort: not a Mercurial bundle

2016-09-28 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5386

Bug ID: 5386
   Summary: When pushing to the network repo I get the error:
abort: not a Mercurial bundle
   Product: Mercurial
   Version: 3.7.3
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: dmcder...@isis.vanderbilt.edu
CC: mercurial-de...@selenic.com

I have pushed to the Phabricator repo on our system several times today, but
now when I push I get:

dmcd2356@ubuntu:~/Projects/ISSTAC/repo/janalyzer$ hg pull
pulling from ssh://g...@phab-isstac.isis.vanderbilt.edu/diffusion/JAN/janalyzer/
searching for changes
no changes found
dmcd2356@ubuntu:~/Projects/ISSTAC/repo/janalyzer$ hg push
pushing to ssh://g...@phab-isstac.isis.vanderbilt.edu/diffusion/JAN/janalyzer/
searching for changes
remote: abort: stream ended unexpectedly (got 0 bytes, expected 4)
abort: not a Mercurial bundle
remote: ** unknown exception encountered, please report by visiting
remote: ** https://mercurial-scm.org/wiki/BugTracker
remote: ** Python 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2]
remote: ** Mercurial Distributed SCM (version 3.8.4)
remote: ** Extensions loaded: 
remote: Traceback (most recent call last):
remote:   File "/usr/bin/hg", line 43, in 
remote: mercurial.dispatch.run()
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
59, in run
remote: sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
125, in dispatch
remote: ret = _runcatch(req)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
204, in _runcatch
remote: return _dispatch(req)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
887, in _dispatch
remote: cmdpats, cmdoptions)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
632, in runcommand
remote: ret = _runcommand(ui, options, cmd, d)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
1017, in _runcommand
remote: return checkargs()
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
978, in checkargs
remote: return cmdfunc()
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
884, in 
remote: d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 1005,
in check
remote: return func(*args, **kwargs)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line
6465, in serve
remote: s.serve_forever()
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/sshserver.py", line
103, in serve_forever
remote: while self.serve_one():
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/sshserver.py", line
121, in serve_one
remote: rsp = wireproto.dispatch(self.repo, self, cmd)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/wireproto.py", line
539, in dispatch
remote: args = proto.getargs(spec)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/sshserver.py", line
41, in getargs
remote: arg, l = argline.split()
remote: ValueError: need more than 1 value to unpack

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5409] New: When a commit rebased with evolution is exported, rebase_source isn't preserved

2016-10-27 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5409

Bug ID: 5409
   Summary: When a commit rebased with evolution is exported,
rebase_source isn't preserved
   Product: Mercurial
   Version: 4.0-rc
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: bug
  Priority: normal
 Component: evolution
  Assignee: bugzi...@selenic.com
  Reporter: gabor.stefa...@nng.com
CC: mercurial-de...@selenic.com,
pierre-yves.da...@ens-lyon.org

Today, my fix for bug 5407 got queued in hg-committed. It was queued on top of
the same revision where I exported it from, but it still ended up with a
different hash, causing evolve to report a divergence.

I investigated how two commits with the same parents, contents, message,
timestamp, username and all other visible attributes could end up being
different, and discovered this:

When a changeset is rebased with the Evolve extension enabled, a
"rebase_source" field is added to its extras. If I then export the patch, the
"rebase_source" field isn't part of the export result, and upon re-import, the
resulting commit will have a new hash. Furthermore, the new commit will not
obsolete the old one, but diverge from it.

Steps to reproduce:
1. Clone the official Mercurial repository to revision b9f7b0c10027 (hg clone
-r b9f7b0c10027 https://mercurial-scm.org/repo/hg)
2. Unbundle the attached bundle file.
3. Export the revision 4daaa319ef14 using "hg export".
4. Re-import the resulting patch. Result: divergence.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5418] New: Operation not permitted for utime

2016-11-07 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5418

Bug ID: 5418
   Summary: Operation not permitted for utime
   Product: Mercurial
   Version: 3.9
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: m...@kiilerich.com
CC: mercurial-de...@selenic.com

When using a repo owned by another user but where I have group suid and proper
umask, I get 'Operation not permitted' from os.utime.

From linux utime man page:

   Changing  timestamps  is permitted when: either the process has
appropriate privileges, or the effective user ID equals the user ID of the
file, or times is NULL and the process has write permission
   for the file.

   If times is NULL, then the access and modification times of the file are
set to the current time.

The utime usage in 731ced087a4b does thus apparently not work with use cases
that Mercurial "always" has supported.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5417] New: Cannot clone repo

2016-11-06 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5417

Bug ID: 5417
   Summary: Cannot clone repo
   Product: Mercurial
   Version: 3.7.3
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: edhillm...@yahoo.com
CC: mercurial-de...@selenic.com

Hi.  I am running Mercurial on Ubuntu 16.04.  I am trying to clone
http://hg.netbeans.org/main.  It starts fast, but the slows down and then
eventually crashes...

ed@Animal:~/netbeans-src$ hg clone http://hg.netbeans.org/main
destination directory: main
requesting all changes
adding changesets
adding manifests
transaction abort!  
rollback completed  
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 2.7.12 (default, Jul  1 2016, 15:12:24) [GCC 5.4.0 20160609]
** Mercurial Distributed SCM (version 3.7.3)
** Extensions loaded: 
Traceback (most recent call last):
  File "/usr/bin/hg", line 43, in 
mercurial.dispatch.run()
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 54, in
run
sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 120, in
dispatch
ret = _runcatch(req)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 191, in
_runcatch
return _dispatch(req)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 924, in
_dispatch
cmdpats, cmdoptions)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 681, in
runcommand
ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 1055, in
_runcommand
return checkargs()
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 1015, in
checkargs
return cmdfunc()
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 921, in

d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 993, in check
return func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line 1563, in
clone
shareopts=opts.get('shareopts'))
  File "/usr/lib/python2.7/dist-packages/mercurial/hg.py", line 595, in clone
streamclonerequested=stream)
  File "/usr/lib/python2.7/dist-packages/mercurial/exchange.py", line 1189, in
pull
_pullchangeset(pullop)
  File "/usr/lib/python2.7/dist-packages/mercurial/exchange.py", line 1386, in
_pullchangeset
pullop.cgresult = cg.apply(pullop.repo, 'pull', pullop.remote.url())
  File "/usr/lib/python2.7/dist-packages/mercurial/changegroup.py", line 381,
in apply
self._unpackmanifests(repo, revmap, trp, prog, changesets)
  File "/usr/lib/python2.7/dist-packages/mercurial/changegroup.py", line 307,
in _unpackmanifests
repo.manifest.addgroup(self, revmap, trp)
  File "/usr/lib/python2.7/dist-packages/mercurial/revlog.py", line 1636, in
addgroup
alwayscache=bool(addrevisioncb))
  File "/usr/lib/python2.7/dist-packages/mercurial/revlog.py", line 1458, in
_addrevision
cachedelta[1])
mpatch.mpatchError: patch cannot be decoded


I have tried to see if any more recent version is available, but apt-get
doesn't show a later version.  Can anyone help me with this?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5422] New: rebase shows "nothing to rebase" even in cases where the rebaseset can be partially rebased

2016-11-09 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5422

Bug ID: 5422
   Summary: rebase shows "nothing to rebase" even in cases where
the rebaseset can be partially rebased
   Product: Mercurial
   Version: default branch
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: rebase
  Assignee: bugzi...@selenic.com
  Reporter: arcppzju+hg...@gmail.com
CC: mercurial-de...@selenic.com

Given the following DAG:

o  f
|
o  e
|
| o  d
|/
o  c
|
| o  b
|/
o  a

`hg rebase -s 'b+d+f' -d e` fails with:
nothing to rebase

The error message is not accurate because both b and d are valid sources to be
rebased. With "--debug" the reason is shown:

$ hg rebase -s 'b+d+f' -d e --debug
rebase onto cd22cb85be7c starting from 27056920676d
rebase onto cd22cb85be7c starting from 7fde43e95481
source is a child of destination
nothing to rebase

However, we should probably improve the error message so it's more informative
than just "nothing to rebase".

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5423] New: Vanished Files in clean working copy

2016-11-09 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5423

Bug ID: 5423
   Summary: Vanished Files in clean working copy
   Product: Mercurial
   Version: 4.0
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: evolution
  Assignee: bugzi...@selenic.com
  Reporter: sebunge...@gmail.com
CC: mercurial-de...@selenic.com,
pierre-yves.da...@ens-lyon.org

Created attachment 1941
  --> https://bz.mercurial-scm.org/attachment.cgi?id=1941=edit
Bash shell script to reproduce the issue(s)

Using the commands in the attached shell script, I can get a working copy into
a state where it says it is clean but is missing some files.

Note that the attached script talks about four different problems (mismatches
between my expectations and mercurials behaviour). Feel free to split these out
into separate issues if you think they are separate.

I was first using ubuntu's mercurial package V 3.7.3-1ubuntu1 and evolve V
5.5.0 as released.

After being requested on the evolve testers list, I've upgraded mercurial to
4.0~trusty1 from the PPA. This did not affect the original three problems but
triggered a fourth one.

Note that https://bz.mercurial-scm.org/show_bug.cgi?id=3982 sounds very similar
but is old and closed as fixed, so I'm opening a separate issue.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5420] New: rebase -b should calculate ancestors seperately

2016-11-07 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5420

Bug ID: 5420
   Summary: rebase -b should calculate ancestors seperately
   Product: Mercurial
   Version: default branch
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: rebase
  Assignee: bugzi...@selenic.com
  Reporter: arcppzju+hg...@gmail.com
CC: mercurial-de...@selenic.com

Given the following graph:

5
| 4
|/
3
| 2
|/
1

rebase -b 2+4 -d 5 will use the revset (ancestor(2+4)::(2+4) - ancestor(2+4))::
as the source, which is (1::(2+4) - 1)::, and it's finally 2+3+4+5.

So it may be better if we calculate ancestors for each revision -b specifies:
(ancestor(4,5):: - ancestor(4,5)):: + (ancestor(2,5):: - ancestor(2,5)):: and
that resolves to 2+4 as expected.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5425] New: run-tests PYTHONPATH mangling breaks pyflakes

2016-11-10 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5425

Bug ID: 5425
   Summary: run-tests PYTHONPATH mangling breaks pyflakes
   Product: Mercurial
   Version: default branch
  Hardware: PC
OS: Mac OS
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: duri...@gmail.com
CC: mercurial-de...@selenic.com

indygreg and I both have pyflakes installed via `pip install --user`. run-tests
sets up PYTHONPATH in the environment, which then causes our pyflakes to fail
thus:

Traceback (most recent call last):
  File "/Users/augie/Library/Python/2.7/bin/pyflakes", line 7, in 
from pyflakes.api import main
ImportError: No module named pyflakes.api

I can reproduce this on both OS X and Linux. I think we should change the
contract for run-tests somehow so we can avoid changing PYTHONPATH. I'm open to
suggestions.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5424] New: Hook to block a specific changeset

2016-11-10 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5424

Bug ID: 5424
   Summary: Hook to block a specific changeset
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: philip.w.mcad...@intel.com
CC: mercurial-de...@selenic.com

Is it possible to create a hook that can block a specific changeset?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5416] New: pad(), label(), and color don't interact well

2016-11-05 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5416

Bug ID: 5416
   Summary: pad(), label(), and color don't interact well
   Product: Mercurial
   Version: 4.0
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: templater
  Assignee: bugzi...@selenic.com
  Reporter: gregory.sz...@gmail.com
CC: mercurial-de...@selenic.com, y...@tcha.org

Say you want to create a template that uses pad() to create aligned columns.
Then say you want to add a label() around a column value so output can be
colorized. Each works on its own but when you combine them, things start to
fall apart.

If you do `pad(label())`, the expanded text from label() may contain
non-printable color escape sequences that count against the length of the
string and affect pad()'s behavior, leading to unexpected results.

If you do `label(pad())`, the labeling/coloring extends over the padding
character, which is likely a space. This could make output look weird due to
coloring of whitespace.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5415] New: Unexpected merge result ignored changes in p2 branch

2016-11-04 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5415

Bug ID: 5415
   Summary: Unexpected merge result ignored changes in p2 branch
   Product: Mercurial
   Version: 4.0
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: gregory.sz...@gmail.com
CC: mercurial-de...@selenic.com

(This issue initially reported at
https://bugzilla.mozilla.org/show_bug.cgi?id=1315227)

STR:

  $ hg clone -r 38fcc30d818f https://hg.mozilla.org/mozilla-central
  $ cd mozilla-central
  $ hg pull -r 964223d37a2e https://hg.mozilla.org/integration/mozilla-inbound
  $ hg merge 964223d37a2e 
  $ hg commit -m merge

dad84422bcfc (an ancestor of 38fcc30d818f - the future p1 of the merge)
introduces "bad" content.

325acea6a61c (an ancestor of 964223d37a2e - the future p2 of the merge) is a
revert of dad84422bcfc.

At the end of the merge, browser/base/content/browser.js contains "bad" content
despite that content being removed in the p2 branch.

Graphically:

o  changeset:   320907:964223d37a2e
:  tag: tip
:  user:Jonathan Kingston 
:  date:Thu Nov 03 19:31:35 2016 +0100
:  summary: Bug 1267916 - part 2 - Add in UX for
about:preferences#containers page, r=jaws
:
o  changeset:   320869:325acea6a61c
:  user:Dão Gottwald 
:  date:Thu Nov 03 11:55:04 2016 +0100
:  summary: Backed out changeset dad84422bcfc (bug 1300376)
:
: @  changeset:   320810:38fcc30d818f
:/   parent:  320736:3b80868f7a8f
:parent:  320809:fa679b6eced2
:user:Phil Ringnalda 
:date:Thu Nov 03 19:24:04 2016 -0700
:summary: Merge autoland to m-c, a=merge
:
o  changeset:   320434:dad84422bcfc
|  user:Jared Wein 
~  date:Tue Nov 01 15:25:06 2016 -0400
   summary: Bug 1300376 - Update the zoom indicator status on
XULBrowserWindow location changes to catch cases where the indicator wasn't
getti

Somehow the content from dad84422bcfc is surviving the changes to it in
325acea6a61c despite dad84422bcfc being an ancestor of the merge's p1 and p2.
This feels wrong.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5414] New: hgweb annotate spends a lot of time in _adjustlinkrev

2016-11-04 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5414

Bug ID: 5414
   Summary: hgweb annotate spends a lot of time in _adjustlinkrev
   Product: Mercurial
   Version: default branch
  Hardware: All
OS: All
Status: UNCONFIRMED
  Keywords: regression
  Severity: bug
  Priority: normal
 Component: hgweb
  Assignee: bugzi...@selenic.com
  Reporter: gregory.sz...@gmail.com
CC: mercurial-de...@selenic.com

A user at Mozilla reported very slow renderings of annotate pages in hgweb.
Upon further examination, the server is spending a lot of time in
_adjustlinkrev. Here is statprof output for a page view:

   | 85.4%  server.py:  do_hgweb   line 92:  self.do_hgweb()
   | 85.4%  hgweb_mod.py:   run_wsgi   line 160:  for chunk in
self.server.ap...
   | 85.4%  __init__.py:_runwsgi   line 310:  for r in
self._runwsgi(req,...
   | 85.6%  util.py:increasingchunks   line 272:  for what in
super(hgwebwrap...
   | 85.1%  templater.py:   _flatten   line 849:  for chunk in
source:
   | 85.1%  templater.py:   _flatten   line 1012:  for j in
_flatten(i):
 \ 77.7%  templater.py:   _flatten line 1012:  for j in
_flatten(i):
   | 77.7%  templater.py:   _flatten   line 1012:  for j in
_flatten(i):
   | 77.7%  templater.py:   runmap line 1004:  for i in thing:
   | 77.7%  webcommands.py: parentsline 410:  for i in diter:
   | 77.7%  context.py: hexline 867:  "node": p.hex(),
   | 77.7%  util.py:__get__line 748:  return
self._changectx.hex()
   | 77.7%  context.py: _changectx line 770:  result =
self.func(obj)
   | 77.7%  util.py:__get__line 1084:  return
changectx(self._repo...
   | 77.7%  context.py: _changeid  line 770:  result =
self.func(obj)
   | 77.7%  context.py: _adjustlinkrev line 684:  self._filenode,
self._desce...
   | 77.6%  changelog.py:   read   line 848:  ac = cl.read(a) #
get chang...
   | 77.0%  changelog.py:   __new__line 467:  c =
changelogrevision(self
   | 76.0%  revlog.py:  _chunksline 1218:  bins =
self._chunks(chain, ...
 \ 39.2%  revlog.py:  decompress   line 1153: 
ladd(decompress(buffer(data...
 \ 36.6%  revlog.py:  _chunkrawline 1142:  offset, data =
self._chunkr...
   | 36.4%  revlog.py:  _getchunk  line 1104:  return start,
self._getchun...
   | 36.3%  revlog.py:  _loadchunk line 1079:  return
self._loadchunk(offs...
   | 26.8%  store.py:   __call__   line 1038:  df =
self.opener(self.dataf...
   | 26.8%  scmutil.py: __call__   line 490:  return
self.vfs(self.encode...

And lsprof showing call counts:

   CallCountRecursive Total(s)Inline(s) module:lineno(function)
 27639550 17.6032 17.6032   
 14733870 94.8229  7.2480  
mercurial.revlog:1179(revision)
 14733120131.7183  6.4628  
mercurial.changelog:451(read)
 14733550 64.8692  5.6589  
mercurial.revlog:1117(_chunks)
  7203570  5.7417  5.5927  
mercurial.revlog:1009(_addchunk)
  7203900  5.4356  5.4356   
  7203940  5.3107  5.3107   
 29467100  3.4474  3.4474   
 14733300  5.9458  3.3268  
mercurial.changelog:159(__new__)
  7203570 31.1398  3.2806  
mercurial.revlog:1021(_loadchunk)
 14734460  5.1924  3.2667  
mercurial.changelog:226(date)
  7203680  2.7331  2.7331   
 57143190  2.6471  2.6471   mercurial.revlog:393(start)
 14733360  5.0520  2.6042  
mercurial.ancestor:299(__iter__)
 34979590  6.1730  2.5544   
 53870320  2.5525  2.5525   
 29474810  2.4774  2.4774   <_codecs.utf_8_decode>
 1250140.2148  2.3813  
mercurial.context:811(_adjustlinkrev)
 14733550  2.8145  2.3654  
mercurial.revlog:446(_deltachain)
 58687920  2.2142  2.2142   
  7203570  2.1344  2.1344   
 14733550  7.4096  2.0823   mercurial.revlog:79(hash)
 14733790 37.5823  2.0608  
mercurial.revlog:1081(_chunkraw)
  7203700 10.3258  1.9492  
mercurial.scmutil:520(__call__)
 27675850 19.3675  1.7643  
mercurial.revlog:100(decompress)
 14733790 32.9512  1.6613  
mercurial.revlog:1057(_getchunk)
 14740670  

[Bug 5419] New: hg revert crashes with multiple renames and --rev

2016-11-07 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5419

Bug ID: 5419
   Summary: hg revert crashes with multiple renames and --rev
   Product: Mercurial
   Version: default branch
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: arcppzju+hg...@gmail.com
CC: mercurial-de...@selenic.com

The following commands will crash "hg revert":

  $ hg init repo
  $ cd repo
  $ touch a
  $ hg commit -A a -m a
  $ hg mv a a1
  $ hg commit -m a1
  $ hg mv a1 a2
  $ hg revert -a -r 0

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5406] New: Mercurial can't access https when a broken version of certifi is installed, even with system store available

2016-10-19 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5406

Bug ID: 5406
   Summary: Mercurial can't access https when a broken version of
certifi is installed, even with system store available
   Product: Mercurial
   Version: stable branch
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: bug
  Priority: urgent
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: gabor.stefa...@nng.com
CC: mercurial-de...@selenic.com

If the certifi module can be loaded, but certifi.where() points to a
nonexistent file (e.g. inside a library.zip when Hg is packaged using py2exe),
all https connections fail due to an IOError when trying to load the cacerts
file.

This means, it's no longer possible to build a Mercurial Windows installer on a
machine with certifi installed. This is a regression from 3.9

(Version = 4.0-rc, but no such choice on Bugzilla yet)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5432] New: record/hunk selector help mention "record" instead of the operation name.

2016-11-23 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5432

Bug ID: 5432
   Summary: record/hunk selector help mention "record" instead of
the operation name.
   Product: Mercurial
   Version: default branch
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: record
  Assignee: bugzi...@selenic.com
  Reporter: pierre-yves.da...@ens-lyon.org
CC: mercurial-de...@selenic.com

The detailed help use "record" in all case, not propagating the "operation"
name. This can be confusing for user.

The following display the issue for the old/default record UI. I've not checked
the crecord ui yet.

examine changes to 'contrib/chg/Makefile'? [Ynesfdaq?] 

@@ -40,6 +40,7 @@ serve:
[ -d $(CHGSOCKDIR) ] || ( umask 077; mkdir $(CHGSOCKDIR) )
$(HG) serve --cwd / --cmdserver chgunix \
--address $(CHGSOCKNAME) \
+   --config extensions.chgserver= \
--config cmdserver.log=/dev/stderr

 .PHONY: clean
discard change 1/14 to 'contrib/chg/Makefile'? [Ynesfdaq?] ?

y - yes, record this change
n - no, skip this change
e - edit this change manually
s - skip remaining changes to this file
f - record remaining changes to this file
d - done, skip remaining changes and files
a - record all changes to all remaining files
q - quit, recording no changes
? - ? (display help)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5430] New: "make install-doc" installs hg-ssh.8 but "make install" does not install hg-ssh

2016-11-22 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5430

Bug ID: 5430
   Summary: "make install-doc" installs hg-ssh.8 but "make
install" does not install hg-ssh
   Product: Mercurial
   Version: stable branch
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: third-party
  Assignee: bugzi...@selenic.com
  Reporter: pierre.labas...@neuf.fr
CC: mercurial-de...@selenic.com

(not sure about the component, fill free to change)
I tried to browse the archives, and found some related posts,
but none treating exactly this: When you run "make install" in
the source tree, the only executable installed is "hg".
But when you run "make install-doc", the man page for hg-ssh is installed.
Of course, it is possible to install manually the "hg-ssh" script, but why
have the corresponding man page automatically installed then?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5431] New: Shelve does not respect --keep when user intervention is required

2016-11-22 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5431

Bug ID: 5431
   Summary: Shelve does not respect --keep when user intervention
is required
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Mac OS
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: shelve
  Assignee: bugzi...@selenic.com
  Reporter: ikos...@fb.com
CC: mercurial-de...@selenic.com

Here's a sample test which does not pass:

Unshelve respects --keep even if user intervention is needed
  $ hg init unshelvekeep
  $ echo 1 > file && hg ci -Am 1
  adding file
  $ echo 2 >> file
  $ hg shelve
  shelved as default
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ echo 3 >> file && hg ci -Am 13
  $ hg shelve --list
  default (1s ago)changes to: 1
  $ hg unshelve --keep
  unshelving change 'default'
  rebasing shelved changes
  rebasing 3:1d24e58054c8 "changes to: 1" (tip)
  merging file
  warning: conflicts while merging file! (edit, then use 'hg resolve --mark')
  unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
  [1]
  $ hg resolve --mark file
  (no more unresolved files)
  continue: hg unshelve --continue
  $ hg unshelve --continue
  rebasing 3:1d24e58054c8 "changes to: 1" (tip)
  unshelve of 'default' complete
  $ hg shelve --list
  default (1s ago)changes to: 1

To solve this, we need to store keep in the shelvedstate file. I will send a
patch.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5433] New: hg clone doesnt work with # in repository name

2016-11-28 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5433

Bug ID: 5433
   Summary: hg clone doesnt work with # in repository name
   Product: Mercurial
   Version: 3.9.2
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: bugreporter5...@protonmail.com
CC: mercurial-de...@selenic.com

Created attachment 1942
  --> https://bz.mercurial-scm.org/attachment.cgi?id=1942=edit
Screenshot

Cloning a repository with a long filename including a number sign (#) doesn't
work.

For example:
hg clone "Repository #2" 02

Fails with:
abort: repository Repository  not found!

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5429] New: Fail on solaris11.3 while trying to compile mozilla-central ?

2016-11-18 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5429

Bug ID: 5429
   Summary: Fail on solaris11.3 while trying to compile
mozilla-central ?
   Product: Mercurial
   Version: 3.9.2
  Hardware: PC
OS: Other
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: njhnbehr...@gmail.com
CC: mercurial-de...@selenic.com

ico@devnull:/sources/mozilla-central$ ./mach mercurial-setup

Ensuring https://hg.mozilla.org/hgcustom/version-control-tools is up to date at
/export/home/nico/.mozbuild/version-control-tools
pulling from https://hg.mozilla.org/hgcustom/version-control-tools
searching for changes
no changes found
0 files updated, 0 files merged, 0 files removed, 0 files unresolved

This wizard will guide you through configuring Mercurial for an optimal
experience contributing to Mozilla projects.

The wizard makes no changes without your permission.

To begin, press the enter/return key.

** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 2.7.11 (default, Mar 14 2016, 17:31:55) [GCC 5.2.0]
** Mercurial Distributed SCM (version 3.9.2)
** Extensions loaded: color, pager, histedit, rebase, blackbox, firefoxtree,
reviewboard, push-to-try, configwizard
Traceback (most recent call last):
  File "/opt/csw/bin/hg", line 45, in 
mercurial.dispatch.run()
  File "/opt/csw/lib/python2.7/site-packages/mercurial/dispatch.py", line 59,
in run
sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
  File "/opt/csw/lib/python2.7/site-packages/mercurial/dispatch.py", line 125,
in dispatch
ret = _runcatch(req)
  File "/opt/csw/lib/python2.7/site-packages/mercurial/dispatch.py", line 204,
in _runcatch
return _dispatch(req)
  File "/opt/csw/lib/python2.7/site-packages/mercurial/dispatch.py", line 880,
in _dispatch
cmdpats, cmdoptions)
  File "/opt/csw/lib/python2.7/site-packages/mercurial/dispatch.py", line 637,
in runcommand
ret = _runcommand(ui, options, cmd, d)
  File "/opt/csw/lib/python2.7/site-packages/mercurial/extensions.py", line
210, in closure
return func(*(args + a), **kw)
  File "/opt/csw/lib/python2.7/site-packages/hgext/pager.py", line 160, in
pagecmd
return orig(ui, options, cmd, cmdfunc)
  File "/opt/csw/lib/python2.7/site-packages/mercurial/extensions.py", line
210, in closure
return func(*(args + a), **kw)
  File "/opt/csw/lib/python2.7/site-packages/hgext/color.py", line 503, in
colorcmd
return orig(ui_, opts, cmd, cmdfunc)
  File "/opt/csw/lib/python2.7/site-packages/mercurial/dispatch.py", line 1010,
in _runcommand
return checkargs()
  File "/opt/csw/lib/python2.7/site-packages/mercurial/dispatch.py", line 971,
in checkargs
return cmdfunc()
  File "/opt/csw/lib/python2.7/site-packages/mercurial/dispatch.py", line 877,
in 
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/opt/csw/lib/python2.7/site-packages/mercurial/util.py", line 1036, in
check
return func(*args, **kwargs)
  File
"/export/home/nico/.mozbuild/version-control-tools/hgext/configwizard/__init__.py",
line 341, in configwizard
cw = configobjwrapper(path)
  File
"/export/home/nico/.mozbuild/version-control-tools/hgext/configwizard/__init__.py",
line 952, in __init__
write_empty_values=True, list_values=False)
  File
"/export/home/nico/.mozbuild/version-control-tools/pylib/configobj/configobj.py",
line 1242, in __init__
self._load(infile, configspec)
  File
"/export/home/nico/.mozbuild/version-control-tools/pylib/configobj/configobj.py",
line 1332, in _load
raise error
configobj.DuplicateError: Duplicate section name at line 31.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5428] New: rebase should "rebase" obsmarkers to avoid divergence

2016-11-17 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5428

Bug ID: 5428
   Summary: rebase should "rebase" obsmarkers to avoid divergence
   Product: Mercurial
   Version: default branch
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: rebase
  Assignee: bugzi...@selenic.com
  Reporter: arcppzju+hg...@gmail.com
CC: mercurial-de...@selenic.com

Before rebase:

  o  c5f1a8  quark  draft/rebase  
  |  rebase: calculate ancestors for --base separately (issue5420)
  |
  | o  bb3f84  quark  rebase   unstable
  | |  warn
  | |
  | x  f35e20  quark
  |/   rebase: calculate ancestors for --base separately (issue5420)
  |
  o  3f18df  quark
  |  drawdag: update test repos by drawing the changelog DAG in ASCII

After rebase -s 3f18df -d remote/@ --config experimental.allowdivergence=1:

  o  5fbcf9  quark   divergent
  |  rebase: calculate ancestors for --base separately (issue5420)
  |
  | o  ad6aa4  quark  rebase 
  | |  warn
  | |
  | o  976883  quark   divergent
  |/   rebase: calculate ancestors for --base separately (issue5420)
  |
  o  ee473a  quark
  |  drawdag: update test repos by drawing the changelog DAG in ASCII

I'd expect an extra obs marker of "976883 is obsoleted by 5fbcf9" is created so
no divergent will be introduced.

This may be related to bug4849 but it seems they are not the same thing.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5426] New: hg config --edit doesn't respect HGRCPATH

2016-11-13 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5426

Bug ID: 5426
   Summary: hg config --edit doesn't respect HGRCPATH
   Product: Mercurial
   Version: stable branch
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: marcin.kasper...@mekk.waw.pl
CC: mercurial-de...@selenic.com

(not very important, but still…)

Even if I set HGRCPATH environment variable to something, the
   hg config --edit
command opens my default hgrc. For example

$ mkdir ~/tmp/otherworld
$ export HGRCPATH=$HOME/tmp/otherworld
$ echo '[ui]' > $HGRCPATH/.hgrc
$ hg config --edit

(last command spawns my editor on ~/.hgrc, I'd expect it to open
~/tmp/otherworld/.hgrc which is configured as hg config at the moment, and
really works as one)

Tested on hg 3.7.3 and hg 4.0.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5427] New: Docs for 'hg update' are misleading

2016-11-13 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5427

Bug ID: 5427
   Summary: Docs for 'hg update' are misleading
   Product: Mercurial
   Version: 4.0-rc
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: jwdevel+m...@gmail.com
CC: mercurial-de...@selenic.com

Running "hg help update" gives:

... If the changeset is not a descendant or ancestor of the working
directory's parent, the update is aborted.

That is not true in general. Barring extra flags being used, it is only true if
there are uncommitted changes, from what I can tell.

Using 'hg help -v update' is a little better, because it spells out the
different possibilities when there are uncommitted changes.

However, it still includes that general statement above which, generally
speaking, is not true.

In case you need proof:

$ hg ini repo && cd repo
$ echo initial text > foo.txt
$ hg add
adding foo.txt
$ hg ci -m "Initial commit"
$ echo "some changes" >> foo.txt 
$ hg ci -m "change on initial head"
$ hg up 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo "different changes, now on a new head" >> foo.txt 
$ hg ci -m "made a new head"
created new head
$ hg log -G
@  changeset:   2:0d460dee3543
|  tag: tip
|  parent:  0:97a7eda6d95d
|  user:JW 
|  date:Sun Nov 13 19:05:04 2016 -0800
|  summary: made a new head
|
| o  changeset:   1:6608fb084d61
|/   user:JW 
|date:Sun Nov 13 19:04:46 2016 -0800
|summary: change on initial head
|
o  changeset:   0:97a7eda6d95d
   user:JW 
   date:Sun Nov 13 19:04:24 2016 -0800
   summary: Initial commit

$ hg up 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved

$ # As you can see, there was no problem updating to rev '1', despite that
it is neither a descendant nor ancestor of '2'.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5410] New: Add patch-editing support to `hg record`

2016-11-02 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5410

Bug ID: 5410
   Summary: Add patch-editing support to `hg record`
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Windows
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: record
  Assignee: bugzi...@selenic.com
  Reporter: scov...@gmail.com
CC: mercurial-de...@selenic.com

Created attachment 1939
  --> https://bz.mercurial-scm.org/attachment.cgi?id=1939=edit
Augmented record.py targeting mercurial-2.8

One very nice feature of git is the ability to edit patches in place (with a
suitable patch-enlightened editor) and commit the result rather than the code
that was actually in the working directory. This makes it vastly easier to
disentangle multiple code changes into separate commits.

I am attaching two versions of the record extension that implement this
feature: the first targets mercurial-2.8 that I have been using for several
years now, and the second is a lightly tested update for mercurial-3.7 that
works around the disappearance of the `mercurial.hg.revert()` function.

The augmented extension is reasonably well documented, using `-p` to request
patch editing. 

I know of two weaknesses that cause the commit to fail with an exception throw:

- file rename or copy operations
- some input diff contains a complaint about the lack of a newline

I have not attempted to address those weaknesses because they have not been
sufficiently annoying to be worth the trouble of figuring out.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5411] New: hg log -f can miss changesets

2016-11-03 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5411

Bug ID: 5411
   Summary: hg log -f can miss changesets
   Product: Mercurial
   Version: default branch
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: arcppzju+hg...@gmail.com
CC: mercurial-de...@selenic.com

In the mercurial repo,

   hg log -f -r 15efc1d06143 doc/Makefile

Expected:

  15efc1d06143 is printed because it modified doc/Makefile

Actual:

  15efc1d06143 is not printed.

Note that "hg annotate -r 15efc1d06143 -c doc/Makefile" includes 15efc1d06143
in two lines correctly.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5412] New: hg won't generate webrev/diffs among two specific revisions

2016-11-04 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5412

Bug ID: 5412
   Summary: hg won't generate webrev/diffs among two specific
revisions
   Product: Mercurial
   Version: 3.8.3
  Hardware: PC
OS: Other
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: hgweb
  Assignee: bugzi...@selenic.com
  Reporter: haojingjing@gmail.com
CC: mercurial-de...@selenic.com

-bash-4.3$ /ws/on12-tools/onbld/bin/webrev -c 32973
   SCM detected: mercurial
 File list from: hg-active -c 61d22878942c ...option -c not recognized
usage: hg-active [-n] [-p parent] -w workspace

-bash-4.3$ /ws/on12-tools/onbld/bin/webrev -p 32973
   SCM detected: mercurial
 File list from: hg-active -p 32973 ...Warning: Parent workspace '32973' is not
accessible
active list will be incomplete

 Done.
  Workspace: /scratch/ahao/amy12x (at 217731cff51e)
Compare against: 32973 (at 217731cff51e)
  Output to: /scratch/ahao/amy12x/webrev
   Output Files:
 Generating PDF: Skipped: no output available
 index.html: Done.

Actually, the problem is that I wish to putback more than one changesets to
gate/original workspace. And I got stuck at the point of trying to generate one
webrev to allow my colleague to conduct code reviewing of all the changesets as
a whole. And it just fails.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5413] New: nested labels get incorrectly colored

2016-11-04 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5413

Bug ID: 5413
   Summary: nested labels get incorrectly colored
   Product: Mercurial
   Version: 4.0-rc
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: color
  Assignee: bugzi...@selenic.com
  Reporter: martinv...@google.com
CC: mercurial-de...@selenic.com

The following command print "preinpost" where "pre" and "post" have label
"nested.outer" and "in" has labels "nested.outer" and "nested.inner".

hg --config color.nested.outer=green --config color.nested.inner=red log -r. -T
'{label("nested.outer", "pre{label("nested.inner", "in")}post\n")}'

I would expect the "pre" and "post" to be green and "in" to be red. However,
"post" ends up white (on my terminal) because the color is turned off at the
end of "in".

Passing --color=debug gives support to my expectation:
[nested.outer|pre[nested.inner|in]post]

With the color escape codes:
[[0;32mpre^[[0;31min^[[0mpost^[[0m

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5438] New: hg export does not work with 'wdir()'

2016-12-08 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5438

Bug ID: 5438
   Summary: hg export does not work with 'wdir()'
   Product: Mercurial
   Version: default branch
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: arcppzju+hg...@gmail.com
CC: mercurial-de...@selenic.com

Currently it just crashes:

  quark % hg export 'wdir()'
  # HG changeset patch
  # User foo
  # Date 1481214154 0
  #  Thu Dec 08 16:22:34 2016 +
  ** Unknown exception encountered with possibly-broken third-party extension
lz4revlog
  ** which supports versions 3.9 of Mercurial.
  ** Please disable lz4revlog and try your action again.
  ** If that fixes the bug please report it to the extension author.
  ** Python 2.7.12 (default, Oct  4 2016, 02:38:46) [GCC 6.1.1 20160501]
  ** Mercurial Distributed SCM (version 4.0+199-a31634336471)
  ** Extensions loaded: rebase, lz4revlog
  Traceback (most recent call last):
File "/home/quark/hg/hg", line 45, in 
  mercurial.dispatch.run()
File "/home/quark/hg/mercurial/dispatch.py", line 61, in run
  sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
File "/home/quark/hg/mercurial/dispatch.py", line 127, in dispatch
  ret = _runcatch(req)
File "/home/quark/hg/mercurial/dispatch.py", line 217, in _runcatch
  return callcatch(ui, _runcatchfunc)
File "/home/quark/hg/mercurial/dispatch.py", line 226, in callcatch
  return func()
File "/home/quark/hg/mercurial/dispatch.py", line 206, in _runcatchfunc
  return _dispatch(req)
File "/home/quark/hg/mercurial/dispatch.py", line 906, in _dispatch
  cmdpats, cmdoptions)
File "/home/quark/hg/mercurial/dispatch.py", line 651, in runcommand
  ret = _runcommand(ui, options, cmd, d)
File "/home/quark/hg/mercurial/dispatch.py", line 914, in _runcommand
  return cmdfunc()
File "/home/quark/hg/mercurial/dispatch.py", line 903, in 
  d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
File "/home/quark/hg/mercurial/util.py", line 1041, in check
  return func(*args, **kwargs)
File "/home/quark/hg/mercurial/commands.py", line 3783, in export
  opts=patch.diffallopts(ui, opts))
File "/home/quark/hg/mercurial/cmdutil.py", line 1171, in export
  single(rev, seqno + 1, fp)
File "/home/quark/hg/mercurial/cmdutil.py", line 1152, in single
  write("# Node ID %s\n" % hex(node))
  TypeError: b2a_hex() argument 1 must be string or buffer, not None



It'll be nice to make it work.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5440] New: graph log does not draw multiple children from null correctly

2016-12-09 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5440

Bug ID: 5440
   Summary: graph log does not draw multiple children from null
correctly
   Product: Mercurial
   Version: 4.0-rc
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: martinv...@google.com
CC: mercurial-de...@selenic.com

$ hg init
$ touch foo
$ hg ci -Am foo
$ hg co null
$ touch bar
$ hg ci -Am bar
$ hg log -G -r 'all() + null'
@  changeset:   1:0764449f61a1
|  tag: tip
|  parent:  -1:
|  user:testuser
|  date:Fri Dec 09 10:41:50 2016 -0800
|  summary: bar
|
| o  changeset:   0:f8637b58320a
|user:testuser
|date:Fri Dec 09 10:41:39 2016 -0800
|summary: foo
|
o  changeset:   -1:
   user:
   date:Thu Jan 01 00:00:00 1970 +

The "foo" commit has no line connecting it to the nullid.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5442] New: Leap seconds not handled properly in commit time

2016-12-12 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5442

Bug ID: 5442
   Summary: Leap seconds not handled properly in commit time
   Product: Mercurial
   Version: 4.0.1
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: f...@tuttu.info
CC: mercurial-de...@selenic.com

Hello,

The last minute of 2016 will have 61 seconds, this means that I should be able
to commit at that time: 

hg commit --date  '2016-12-31 23:59:60'

Actually, I can, but the date is wrong by 1 second:

changeset:   ...
tag: ...
user: ...
date:Sun Jan 01 00:00:00 2017 +0100
summary: ...


I should not be able to commit the day before at 23:59:60 :

hg commit --date  '2016-12-30 23:59:60' -> should yield an error !

changeset:   ...
tag: ...
user:...
date:Sat Dec 31 00:00:00 2016 +0100
summary: ...


Cheers,

Feth

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5444] New: 7x perf regression in huge hg pulls

2016-12-13 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5444

Bug ID: 5444
   Summary: 7x perf regression in huge hg pulls
   Product: Mercurial
   Version: default branch
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@mercurial-scm.org
  Reporter: dur...@fb.com
CC: mercurial-de...@selenic.com

It looks like e240e914d226 (revlog: seek to end of file before writing
(issue4943)) causes a significant perf regression in revlogs writes when doing
large pulls. In our case (linux on ext4), pulling 100k changelog entries went
from 17s before the change, to 130s after the change.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5445] New: Host html documentation/man pages on mercurial-scm.org

2016-12-13 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5445

Bug ID: 5445
   Summary: Host html documentation/man pages on mercurial-scm.org
   Product: Mercurial
   Version: unspecified
  Hardware: All
   URL: https://www.selenic.com/mercurial/hgrc.5.html
OS: All
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: infrastructure
  Assignee: bugzi...@mercurial-scm.org
  Reporter: a...@dwimlabs.net
CC: kbullock+mercur...@ringworld.org,
mercurial-de...@selenic.com

Looks like html versions of man pages like this:
https://www.selenic.com/mercurial/hgrc.5.html are not on mercurial-scm.org.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5446] New: Fix Bugzilla so that it doesn't comment on its own issues

2016-12-13 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5446

Bug ID: 5446
   Summary: Fix Bugzilla so that it doesn't comment on its own
issues
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Mac OS
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: infrastructure
  Assignee: bugzi...@mercurial-scm.org
  Reporter: kbullock+mercur...@ringworld.org
CC: kbullock+mercur...@ringworld.org,
mercurial-de...@selenic.com

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5443] New: Something broke after upgrading Ubuntu

2016-12-12 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5443

Bug ID: 5443
   Summary: Something broke after upgrading Ubuntu
   Product: Mercurial
   Version: unspecified
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: teo8...@gmail.com
CC: mercurial-de...@selenic.com

I had Mercurial installed and working on Ubuntu 15.10.

After upgrading to Ubuntu 16.04, creating a branch in a repo produces this
error:

  $ hg branch test
  *** failed to import extension mercurial_keyring: No module named builtins
  marked working directory as branch test

Whatever this means, this would not happen before upgrading Ubuntu.

The branch is created nonetheless.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5437] New: Selecting a partial chunk in revert -i reverts the whole chunk

2016-12-02 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5437

Bug ID: 5437
   Summary: Selecting a partial chunk in revert -i reverts the
whole chunk
   Product: Mercurial
   Version: default branch
  Hardware: PC
OS: Mac OS
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: dur...@fb.com
CC: mercurial-de...@selenic.com

When using ui.interface=curses, you can run 'hg revert -i --all' to
interactively select which parts you want to revert.  But if you choose only
certain lines from a chunk, revert will actually revert the entire chunk.

It repros at the tip of default, and in 3.9.  So I assume it's not a recent
regression.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5434] New: graphlog should not allow users to use a single character for the an entire edge

2016-11-29 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5434

Bug ID: 5434
   Summary: graphlog should not allow users to use a single
character for the an entire edge
   Product: Mercurial
   Version: default branch
  Hardware: All
OS: Windows
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@selenic.com
  Reporter: arcppzju+hg...@gmail.com
CC: mercurial-de...@selenic.com

Using drawdag.py to create a repo:

  G H
  | |
  D F
  | |
  C E
  |/
  B
  |
  A

Run hg log -r B+A+C+D+G+F -G -T '{desc}' --config
experimental.graphstyle.grandparent=:

  o  G
  |
  | o  F
  | :
  o :  D
  | :
  o :  C
  :/
  o  B
  |
  o  A

The edge between C and B should be "|" instead of ":" because C is a direct
child of B.

This is actually because two edges share a same path and their style cannot be
consistent. I think a clean solution would be to disallow changing the style
for the whole edge, instead, allow *insert* some characters for the grand
parent edge.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5435] New: `hg histedit` + evolve should warn/refuse when not on a head

2016-11-30 Thread bugzilla
https://bz.mercurial-scm.org/show_bug.cgi?id=5435

Bug ID: 5435
   Summary: `hg histedit` + evolve should warn/refuse when not on
a head
   Product: Mercurial
   Version: default branch
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: histedit
  Assignee: bugzi...@selenic.com
  Reporter: h...@pewpew.net
CC: mercurial-de...@selenic.com

Created attachment 1943
  --> https://bz.mercurial-scm.org/attachment.cgi?id=1943=edit
Shows the stuff from above

Assuming I have the following situation:

o  D (3:b3325c91a4d9)
|
@  C (2:f838bfaca5c7)
|
o  B (1:27547f69f254)
|
o  A (0:4a2df7238c3b)

And I want to swap B and C, a naive method would be to `hg histedit .^`, swap
the two lines, and be done.  Without evolve this refuses to work ("abort: can
only histedit a changeset together with all its descendants"), but with evolve
this works, but produces a result that I really did not want:

1 new unstable changesets

Err, why would there be unstable changesets?  The graph now looks like:

@  B (5:8a836610b3a8)
|
o  C (4:f3372df32a10)
|
| o  D (3:b3325c91a4d9)
| |
| x  C (2:f838bfaca5c7)
| |
| x  B (1:27547f69f254)
|/
o  A (0:4a2df7238c3b)

Ok, whatever, no one has time to parse that, just evolve -a -A and fix it:

@  D (6:125620d4a4a6)
|
| o  B (5:8a836610b3a8)
|/
o  C (4:f3372df32a10)
|
o  A (0:4a2df7238c3b)

That is *not* what I wanted. :)  I wanted this (remember, my goal was "swap B
and C"):

@  D (7:892f7a90ca28)
|
o  B (5:8a836610b3a8)
|
o  C (4:f3372df32a10)
|
o  A (0:4a2df7238c3b)


I think that histedit should continue to refuse to run, even when evolve is on,
if not on a head (or maybe require a --force or something).

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel