Re: D3665: graph: improve graph output by using Unicode characters

2018-05-29 Thread Sean Farley

johnstiles (John Stiles)  writes:

> johnstiles added a comment.
>
>
>   In https://phab.mercurial-scm.org/D3665#57649, @smf wrote:
>   
>   > johnstiles (John Stiles)  writes:
>   >
>   > > johnstiles added a comment.
>   > > 
>   > >   yuya, I believe these patches should address all of your concerns 
> except for `encoding._wide`. I am not sure what your expectation is for that. 
> I don't think it would make sense to silently disable the extension if 
> `encoding._wide` is set; IMO that would cause user confusion. If a user sees 
> that the log lines are not lining up properly, that is easy to understand, 
> diagnose and fix (change your Terminal font). If the extension just silently 
> doesn't work, that is much harder to fix.
>   > >   
>   > >   Let me know if you see anything else that you would like addressed! 
> Thanks :)
>   >
>   > Oh, crazy. I just started hacking something like this up last week. I'll
>   >  have to check this out.
>   >
>   > - F93615: signature.asc 
>   
>   
>   Awesome! Great minds think alike ;)

:-)

>   If you figure out a way to improve the look of diagonal lines transitioning 
> into a straight vertical line, let me know... I'm still not in love with 
> those. We need more box characters!

Yeah, that's going to be difficult. I started down this rabbit hole when
I was looking for a way to display diagonal dotted lines. I'm not sure
if there is an answer.


signature.asc
Description: PGP signature
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5902] New: lfs crashes in TortoiseHg when enabled only at the repo level

2018-05-29 Thread mercurial-bugs
https://bz.mercurial-scm.org/show_bug.cgi?id=5902

Bug ID: 5902
   Summary: lfs crashes in TortoiseHg when enabled only at the
repo level
   Product: Mercurial
   Version: 4.6
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: bug
  Priority: normal
 Component: lfs
  Assignee: bugzi...@mercurial-scm.org
  Reporter: matt_harbi...@yahoo.com
CC: mercurial-devel@mercurial-scm.org

I'm not sure if this is a thg bug for not isolating the extension, or an
extension bug, because it operates on a repo that didn't get reposetup() called
on it.  I suspect the latter.  I had a repo open in one tab with lfs enabled
locally, and the Mercurial tab visible without lfs.  I clicked something in the
Mercurial repo, and got this:

#!python
** Mercurial version (4.6).  TortoiseHg version (4.6)
** Command: --nofork workbench
** CWD: C:\Users\mharbison\Desktop
** Encoding: cp1252
** Extensions loaded: eol, extdiff, mercurial_keyring, purge, rebase,
schemes, share, shelve, strip, reviewboard, evolve,
tortoisehg.util.configitems, lfs
** Python version: 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40)
[MSC v.1500 64 bit (AMD64)]
** Windows version: sys.getwindowsversion(major=6, minor=2, build=9200,
platform=2, service_pack='')
** Processor architecture: x64
** Qt-5.9.2 PyQt-5.9.1 QScintilla-2.10.2.dev1711012104
Traceback (most recent call last):
  File "tortoisehg\hgqt\revdetails.pyo", line 392, in _onFileSelected
  File "tortoisehg\hgqt\fileview.pyo", line 492, in display
  File "tortoisehg\hgqt\filedata.pyo", line 464, in load
  File "mercurial\patch.pyo", line 2356, in diff
  File "mercurial\patch.pyo", line 2471, in diffhunks
  File "mercurial\scmutil.pyo", line 1371, in prefetchfiles
  File "mercurial\util.pyo", line 2966, in __call__
  File "hgext\lfs\wrapper.pyo", line 252, in _prefetchfiles
AttributeError: '_fncachevfs' object has no attribute 'lfslocalblobstore'

It should be simple enough to check for the attribute in most wrapper functions
taking a repo or ctx, but I don't remember playing those games with largefiles.

-- 
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


D3665: graph: improve graph output by using Unicode characters

2018-05-29 Thread johnstiles (John Stiles)
johnstiles added a comment.


  In https://phab.mercurial-scm.org/D3665#57649, @smf wrote:
  
  > johnstiles (John Stiles)  writes:
  >
  > > johnstiles added a comment.
  > > 
  > >   yuya, I believe these patches should address all of your concerns 
except for `encoding._wide`. I am not sure what your expectation is for that. I 
don't think it would make sense to silently disable the extension if 
`encoding._wide` is set; IMO that would cause user confusion. If a user sees 
that the log lines are not lining up properly, that is easy to understand, 
diagnose and fix (change your Terminal font). If the extension just silently 
doesn't work, that is much harder to fix.
  > >   
  > >   Let me know if you see anything else that you would like addressed! 
Thanks :)
  >
  > Oh, crazy. I just started hacking something like this up last week. I'll
  >  have to check this out.
  >
  > - F93615: signature.asc 
  
  
  Awesome! Great minds think alike ;)
  
  If you figure out a way to improve the look of diagonal lines transitioning 
into a straight vertical line, let me know... I'm still not in love with those. 
We need more box characters!

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3665

To: johnstiles, #hg-reviewers
Cc: smf, yuja, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


Re: D3665: graph: improve graph output by using Unicode characters

2018-05-29 Thread Sean Farley

johnstiles (John Stiles)  writes:

> johnstiles added a comment.
>
>
>   yuya, I believe these patches should address all of your concerns except 
> for `encoding._wide`. I am not sure what your expectation is for that. I 
> don't think it would make sense to silently disable the extension if 
> `encoding._wide` is set; IMO that would cause user confusion. If a user sees 
> that the log lines are not lining up properly, that is easy to understand, 
> diagnose and fix (change your Terminal font). If the extension just silently 
> doesn't work, that is much harder to fix.
>   
>   Let me know if you see anything else that you would like addressed! Thanks 
> :)

Oh, crazy. I just started hacking something like this up last week. I'll
have to check this out.


signature.asc
Description: PGP signature
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D3627: status: add a config knob for setting default of --terse

2018-05-29 Thread martinvonz (Martin von Zweigbergk)
martinvonz added a comment.


  In https://phab.mercurial-scm.org/D3627#57185, @pulkit wrote:
  
  > > I'm very unhappy with how the default value for --terse looks rigt
  > >  now, but it does *work*. The alternative would be to define an
  > >  "optional string" flag type using fancyopts.customopt and then use
  > >  that, leaving the default as None. Does anyone have a strong
  > >  preference for that, or a better idea?
  >
  > I am fine with the current approach. Queued the series, many thanks!
  
  
  Note that the current value is visible in `hg help -v status`:
  
-t --terse VALUE show the terse output (EXPERIMENTAL) (default:
 nothing)
  
  Probably not a big deal, but I thought I'd mention it.

INLINE COMMENTS

> config.txt:446
> +``status.terse``
> +Default value for the --terse flag, which condenes status output.
> +(default: empty)

Typo in "condenes"

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3627

To: durin42, #hg-reviewers, pulkit
Cc: martinvonz, pulkit, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D3669: cmdutil: have statefile names in STATES instead of functions

2018-05-29 Thread martinvonz (Martin von Zweigbergk)
martinvonz added inline comments.

INLINE COMMENTS

> cmdutil.py:649-650
> +detected = False
> +if state == 'merge':
> +detected = _mergepredicate(repo)
> +else:

The point of the STATES dict (as opposed to putting all the code here) seems to 
be to make it generic and extensible. Handling "merge" differently here seems 
like a step backwards. How about instead making unfinishedstates more generic 
by supporting a predicate there instead of the file? We could still allow files 
as well for BC for a little while.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3669

To: pulkit, #hg-reviewers
Cc: martinvonz, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D3670: cmdutil: don't return statedetectionpredicate function from _getrepostate()

2018-05-29 Thread pulkit (Pulkit Goyal)
pulkit created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  This is a part of refactoring which can lead us where we can unify
  cmdutil.STATES and cmdutil.unfinishedstates easily.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3670

AFFECTED FILES
  mercurial/cmdutil.py

CHANGE DETAILS

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -646,14 +646,14 @@
 if state in skip:
 continue
 if statedetectionpredicate(repo):
-return (state, statedetectionpredicate, msgfn)
+return (state, msgfn)
 
 def morestatus(repo, fm):
 statetuple = _getrepostate(repo)
 label = 'status.morestatus'
 if statetuple:
 fm.startitem()
-state, statedetectionpredicate, helpfulmsg = statetuple
+state, helpfulmsg = statetuple
 statemsg = _('The repository is in an unfinished *%s* state.') % state
 fm.write('statemsg', '%s\n',  _commentlines(statemsg), label=label)
 conmsg = _conflictsmsg(repo)



To: pulkit, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D3669: cmdutil: have statefile names in STATES instead of functions

2018-05-29 Thread pulkit (Pulkit Goyal)
pulkit created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  This will help us in unifying cmdutil.STATES and cmdutil.unfinishedstates as 
the
  checking logic for STATES is moved to _getrepostate() and STATES now have just
  filenames which is similar to unfinishedstates.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3669

AFFECTED FILES
  mercurial/cmdutil.py

CHANGE DETAILS

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -627,25 +627,30 @@
 
 STATES = (
 # (state, predicate to detect states, helpful message function)
-('histedit', fileexistspredicate('histedit-state'), _histeditmsg),
-('bisect', fileexistspredicate('bisect.state'), _bisectmsg),
-('graft', fileexistspredicate('graftstate'), _graftmsg),
-('unshelve', fileexistspredicate('unshelverebasestate'), _unshelvemsg),
-('rebase', fileexistspredicate('rebasestate'), _rebasemsg),
+('histedit', 'histedit-state', _histeditmsg),
+('bisect', 'bisect.state', _bisectmsg),
+('graft', 'graftstate', _graftmsg),
+('unshelve', 'unshelverebasestate', _unshelvemsg),
+('rebase', 'rebasestate', _rebasemsg),
 # The merge state is part of a list that will be iterated over.
 # They need to be last because some of the other unfinished states may also
 # be in a merge or update state (eg. rebase, histedit, graft, etc).
 # We want those to have priority.
-('merge', _mergepredicate, _mergemsg),
+('merge', None, _mergemsg),
 )
 
 def _getrepostate(repo):
 # experimental config: commands.status.skipstates
 skip = set(repo.ui.configlist('commands', 'status.skipstates'))
-for state, statedetectionpredicate, msgfn in STATES:
+for state, filename, msgfn in STATES:
 if state in skip:
 continue
-if statedetectionpredicate(repo):
+detected = False
+if state == 'merge':
+detected = _mergepredicate(repo)
+else:
+detected = repo.vfs.exists(filename)
+if detected:
 return (state, msgfn)
 
 def morestatus(repo, fm):



To: pulkit, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5901] New: when run from subdirectory, "hg rm *" deletes current working directory

2018-05-29 Thread mercurial-bugs
https://bz.mercurial-scm.org/show_bug.cgi?id=5901

Bug ID: 5901
   Summary: when run from subdirectory, "hg rm *" deletes current
working directory
   Product: Mercurial
   Version: 4.6
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: bug
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@mercurial-scm.org
  Reporter: martinv...@google.com
CC: mercurial-devel@mercurial-scm.org

$ mkdir dir
  $ echo x > dir/x
  $ hg ci -Aqm add
  $ cd dir
  $ hg rm -q x
  $ hg st
  abort: error getting current working directory: $ENOENT$
  [255]
  $ cd $TESTTMP/a
  $ hg co -qC .

-- 
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


D3668: graft: add a new `--stop` flag to stop interrupted graft

2018-05-29 Thread pulkit (Pulkit Goyal)
pulkit created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  This patch adds a new flag `--stop` to `hg graft` command which stops the
  interrupted graft.
  
  The `--stop` flag takes back you to the last successful step i.e. it will keep
  your grafted commits, it will just clear the mergestate and interrupted graft
  state.
  
  The `--stop` is different from `--abort` flag as the latter also undoes all 
the
  work done till now which is sometimes not what the user wants.
  
  Suppose you grafted a lot of changesets, you encountered conflicts, you 
resolved
  them, did `hg graft --continue`, again encountered conflicts, continue, again
  encountered conflicts. Now you are tired of solving merge conflicts and want 
to
  resume this sometimes later. If you use the `--abort` functionality, it will
  strip your already grafted changesets, making you loose the work you have done
  resolving merge conflicts.
  
  A general goal related to this flag is to add this flag to `rebase` and
  `histedit` too. The evolve command already has this --stop flag.
  
  Tests are added for the new flag.
  
  ..  feature:: `hg graft` now has a `--stop` flag to stop interrupted graft

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3668

AFFECTED FILES
  mercurial/commands.py
  tests/test-completion.t
  tests/test-graft.t

CHANGE DETAILS

diff --git a/tests/test-graft.t b/tests/test-graft.t
--- a/tests/test-graft.t
+++ b/tests/test-graft.t
@@ -1624,3 +1624,108 @@
  date:Thu Jan 01 00:00:00 1970 +
  summary: bar to b
   
+
+  $ cd ..
+
+Testing the --stop flag of `hg graft` which stops the interrupted graft
+
+  $ hg init stopgraft
+  $ cd stopgraft
+  $ for ch in a b c d; do echo $ch > $ch; hg add $ch; hg ci -Aqm "added "$ch; 
done;
+
+  $ hg log -G
+  @  changeset:   3:9150fe93bec6
+  |  tag: tip
+  |  user:test
+  |  date:Thu Jan 01 00:00:00 1970 +
+  |  summary: added d
+  |
+  o  changeset:   2:155349b645be
+  |  user:test
+  |  date:Thu Jan 01 00:00:00 1970 +
+  |  summary: added c
+  |
+  o  changeset:   1:5f6d8a4bf34a
+  |  user:test
+  |  date:Thu Jan 01 00:00:00 1970 +
+  |  summary: added b
+  |
+  o  changeset:   0:9092f1db7931
+ user:test
+ date:Thu Jan 01 00:00:00 1970 +
+ summary: added a
+  
+  $ hg up '.^^'
+  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+
+  $ echo foo > d
+  $ hg ci -Aqm "added foo to d"
+
+  $ hg graft --stop
+  abort: no interrupted graft found
+  [255]
+
+  $ hg graft -r 3
+  grafting 3:9150fe93bec6 "added d"
+  merging d
+  warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
+  abort: unresolved conflicts, can't continue
+  (use 'hg resolve' and 'hg graft --continue')
+  [255]
+
+  $ hg graft --stop --continue
+  abort: cannot use '--continue' and '--abort' together
+  [255]
+
+  $ hg graft --stop -U
+  abort: cannot specify any other flag with '--abort'
+  [255]
+  $ hg graft --stop --rev 4
+  abort: cannot specify any other flag with '--abort'
+  [255]
+  $ hg graft --stop --log
+  abort: cannot specify any other flag with '--abort'
+  [255]
+
+  $ hg graft --stop
+  stopped the interrupted graft
+  working directory is now at a0deacecd59d
+
+  $ hg diff
+
+  $ hg log -Gr '.'
+  @  changeset:   4:a0deacecd59d
+  |  tag: tip
+  ~  parent:  1:5f6d8a4bf34a
+ user:test
+ date:Thu Jan 01 00:00:00 1970 +
+ summary: added foo to d
+  
+  $ hg graft -r 2 -r 3
+  grafting 2:155349b645be "added c"
+  grafting 3:9150fe93bec6 "added d"
+  merging d
+  warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
+  abort: unresolved conflicts, can't continue
+  (use 'hg resolve' and 'hg graft --continue')
+  [255]
+
+  $ hg graft --stop
+  stopped the interrupted graft
+  working directory is now at 75b447541a9e
+
+  $ hg diff
+
+  $ hg log -G -T "{rev}:{node|short} {desc}"
+  @  5:75b447541a9e added c
+  |
+  o  4:a0deacecd59d added foo to d
+  |
+  | o  3:9150fe93bec6 added d
+  | |
+  | o  2:155349b645be added c
+  |/
+  o  1:5f6d8a4bf34a added b
+  |
+  o  0:9092f1db7931 added a
+  
diff --git a/tests/test-completion.t b/tests/test-completion.t
--- a/tests/test-completion.t
+++ b/tests/test-completion.t
@@ -311,7 +311,7 @@
   debugwireargs: three, four, five, ssh, remotecmd, insecure
   debugwireproto: localssh, peer, noreadstderr, nologhandshake, ssh, 
remotecmd, insecure
   files: rev, print0, include, exclude, template, subrepos
-  graft: rev, continue, edit, log, force, currentdate, currentuser, date, 
user, tool, dry-run
+  graft: rev, continue, stop, edit, log, force, currentdate, currentuser, 
date, user, tool, dry-run
   grep: print0, all, text, follow, ignore-case, files-with-matches, 
line-number, rev, user, date, template, include, exclude
   

D3187: phase: add dry-run functionality

2018-05-29 Thread pulkit (Pulkit Goyal)
pulkit added a comment.


  Nice work! I like where how you simplified things from previous version.
  
  If you look at the patch, this seems to do multiple things at once which are:
  
  - adding dry-run argument to advanceboundary and retractboundary functions
  - adding a new --dry-run flag to hg phase
  
  Let's break things up in individual patches so that we can improve more on 
individual pieces. Can you split this into a separate patch for adding dryrun 
argument to each function, i.e. one patch for adcanceboundary, one for 
retractboundary, and then one last patch which adds the new flag? That will be 
very much helpful in reviewing this work and also making incremental changes 
and moving forward step by step.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3187

To: khanchi97, pulkit, #hg-reviewers
Cc: av6, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


Re: how to import tags?

2018-05-29 Thread Hollis Blanchard
This is the logical sequence of commands that my import script runs. Do 
these results make sense to anybody?


[... many commands, including successful debugsetparents/tag pairs ...]
foo.hg$ hg debugsetparents heads(descendants(2785083))
foo.hg$ hg -v tag --force --rev 2785083 MyTag
abort: working copy of .hgtags is changed
(please commit .hgtags manually)
*foo.hg$ hg statusM .hgtagsfoo.hg$ hg revert .hgtagsabort: 
.hgtags@356c2bf65f98: not found in manifest!*



(The tags are applied after the regular commits, so I'm using 
debugsetparents to land the tag-commit on the head related to the 
commit-being-tagged. )The intent is for a graph like this:


o (other heads)
|
| o tag 2
| |
| o tag 1
| |
| o the commit which was tagged by "tag 1" and "tag 2"
| /
o (other commits)

Hollis Blanchard
Mentor Graphics Emulation Division

On 05/24/2018 11:38 AM, Augie Fackler wrote:



On May 24, 2018, at 2:20 PM, Hollis Blanchard 
mailto:hollis_blanch...@mentor.com>> wrote:


On 05/23/2018 03:15 PM, Hollis Blanchard wrote:


2. Commit tags as children of the correct head.

I don't see a 'tag' cmdline option for this, though: the parent 
commit is the parent of the working directory, without an ability to 
override. That means I would need to keep working directories for 
all these mirrors, and since there are GBs of working directories 
and millions of files, that would be significant overhead.



Looks like I can use 'hg debugsetparents' for exactly this purpose:

hg debugsetparents REV1 [REV2]

manually set the parents of the current working directory

    This is useful for writing repository conversion tools, but
should be used
    with care. For example, neither the working directory nor the
dirstate is
    updated, so file status may be incorrect after running this
command.

I hope that debug command sticks around…

I’d be very surprised if it went away. I’d probably do what you’re 
doing given the same constraints.

Hollis Blanchard
Mentor Graphics Emulation Division
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org 


https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel




___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[Bug 5900] New: can't commit with experimental.format.compression=none

2018-05-29 Thread mercurial-bugs
https://bz.mercurial-scm.org/show_bug.cgi?id=5900

Bug ID: 5900
   Summary: can't commit with experimental.format.compression=none
   Product: Mercurial
   Version: 4.6
  Hardware: PC
OS: Other
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: Mercurial
  Assignee: bugzi...@mercurial-scm.org
  Reporter: jef...@josefsipek.net
CC: mercurial-devel@mercurial-scm.org

I was going to do a quick test with "none" compression algo for revlogs, but my
experiment didn't even manage to get to the first commit:

$ hg --config experimental.format.compression=none init abcdef
$ cd abcdef
$ touch foo
$ hg --config experimental.format.compression=none commit -A -m "initial"
abort: repository requires features unknown to this Mercurial:
exp-compression-none!
(see https://mercurial-scm.org/wiki/MissingRequirement for more information)
$ cat .hg/requires 
dotencode
exp-compression-none
fncache
generaldelta
revlogv1
store

Doing the same exact steps but with "zstd", the commit succeeds (the zstd case
seems to be checked by test-repo-compengines.t).

$ hg version -v
Mercurial Distributed SCM (version 4.6+16-5b831053d9b6)
(see https://mercurial-scm.org for more information)

Copyright (C) 2005-2018 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.

Enabled extensions:

  hgkinternal  
  graphlog   internal  
  purge  internal  
  gpginternal  
  churn  internal  
  pager  internal  
  shelve internal  
  histedit   internal  
  rebase internal  
  patchbomb  internal  
  githelpinternal  
  evolve external  8.0.1.dev
  topic  external  0.9.1.dev

(The idea behind the experiment was to see how much faster hg would be if it
didn't compress revlogs.  I have zfs compress all files transparently already,
so there is double-compression happenning.)

-- 
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


D3665: graph: improve graph output by using Unicode characters

2018-05-29 Thread yuja (Yuya Nishihara)
yuja added a comment.


  > except for `encoding._wide`. I am not sure what your expectation is for 
that.
  >  I don't think it would make sense to silently disable the extension if
  >  `encoding._wide` is set; IMO that would cause user confusion.
  
  I think that's also true for `encoding != 'UTF-8'`. The simplest solution
  would be to show a warning when loading the extension.
  
def extsetup(ui):
if encoding.encoding != 'UTF-8' or encoding._wide:
ui.warn(_('unsupported encoding or terminal setting\n'))
return

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3665

To: johnstiles, #hg-reviewers
Cc: yuja, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


Re: D3665: graph: improve graph output by using Unicode characters

2018-05-29 Thread Yuya Nishihara
> except for `encoding._wide`. I am not sure what your expectation is for that.
> I don't think it would make sense to silently disable the extension if
> `encoding._wide` is set; IMO that would cause user confusion.

I think that's also true for `encoding != 'UTF-8'`. The simplest solution
would be to show a warning when loading the extension.

```
def extsetup(ui):
if encoding.encoding != 'UTF-8' or encoding._wide:
ui.warn(_('unsupported encoding or terminal setting\n'))
return
```
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


Re: [PATCH 3 of 3 RFC] revset: add an 'all' argument to ancestor() to return

2018-05-29 Thread Yuya Nishihara
On Mon, 28 May 2018 19:24:08 -0700, Sean Farley wrote:
> > On Mon, 28 May 2018 21:27:40 +0900, Yuya Nishihara wrote:
> >> On Sun, 27 May 2018 13:48:18 +0200, Sean Farley wrote:
> >> > # HG changeset patch
> >> > # User Sean Farley 
> >> > # Date 1527357855 -7200
> >> > #  Sat May 26 20:04:15 2018 +0200
> >> > # Node ID 9fa3f81f4685ca73393f57253f2f05a0d758c022
> >> > # Parent  000e9442997b1c61ae02a27e657ffb34d170502b
> >> > # EXP-Topic gca-revset
> >> > revset: add an 'all' argument to ancestor() to return
> >> >
> >> > Currently, I'm not sure if this should be an option or a new revset
> >> > method.
> >>
> >> Maybe this can be an optimized path for 'heads(::x, ::y)'?
> >> commonancestorsheads() is documented as such.
> >
> > To be clear, I thought this should be a new revset function since 'all' 
> > could
> > also mean "all ancestors." And I noticed that it could be a private function
> > '_ancestorheads(x, y)' rewritten from 'heads(::x, ::y)'.
> 
> Yeah, I think I agree that it should be a new revset; thanks. I'm not
> quite sure what optimization you mean for heads(::x, ::y), though?

My point is the proposed function can be expressed as a combination of
existing functions:

  'heads(::x, ::y)'  (when 'x' and 'y' have at most one element each)

so we wouldn't have to add new public function.

That said, it isn't easy to determine if 'heads(::x, ::y)' can be rewritten
to '_commonancestorsheads(x, y)' while parsing because 'x'/'y' may return
more than one revisions. So we'll probably end up adding new function,
'heads(commonancestors(set))' or 'commonancestorsheads(set)'.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


Re: [PATCH] outgoing: pay attention to `default:pushurl` for bookmarks and subrepos

2018-05-29 Thread Yuya Nishihara
On Tue, 29 May 2018 00:42:23 -0400, Matt Harbison wrote:
> # HG changeset patch
> # User Matt Harbison 
> # Date 1527485794 14400
> #  Mon May 28 01:36:34 2018 -0400
> # Node ID 8544cdf89153aa7c0ce5be9c4dfdc052b2bf5d60
> # Parent  cc9aa88792fe8daf041521710f52be59c69b79eb
> outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
> 
> The problem here was that `default:pushurl` and `default` get translated to a
> single entry in `ui.paths` named 'default', with an attribute for 'pushloc',
> 'loc', and 'rawloc'.  ui.expandpath() then always takes the `rawloc` 
> attribute.
> Maybe the ui.expandpath() API is busted and should be removed?  Or maybe
> getpath() should return a copy that adds an attribute reflecting the URL of 
> the
> path chosen?

IIRC, ui.expandpath() is supposed to be superseded by ui.paths API.

> I thought that I could remove the code in hg._outgoing() and pass the location
> resolved in commands.py as `dest`, but unfortunately that code is needed there
> to resolve #branch type URLs.  Maybe that should be pulled up to commands.py,
> because I can't see any reasonable behavior for a subrepo path that's
> constructed out of that type of URL.
> 
> The push command already resolves this early, so that works properly.  But it
> looks like bundle, histedit, largefiles, patchbomb, and summary use a similar
> pattern, so they are likely similarly affected.

> @@ -3711,6 +3711,13 @@ def outgoing(ui, repo, dest=None, **opts
>  
>  Returns 0 if there are outgoing changes, 1 otherwise.
>  """
> +# hg._outgoing() needs to re-resolve the path in order to handle #branch
> +# style URLs, so don't overwrite dest.
> +path = ui.paths.getpath(dest, default=('default-push', 'default'))
> +if not path:
> +raise error.Abort(_('default repository not configured!'),
> + hint=_("see 'hg help config.paths'"))
> +
>  opts = pycompat.byteskwargs(opts)
>  if opts.get('graph'):
>  logcmdutil.checkunsupportedgraphflags([], opts)
> @@ -3728,7 +3735,7 @@ def outgoing(ui, repo, dest=None, **opts
>  return 0
>  
>  if opts.get('bookmarks'):
> -dest = ui.expandpath(dest or 'default-push', dest or 'default')
> +dest = path.pushloc or path.loc
>  dest, branches = hg.parseurl(dest, opts.get('branch'))

It isn't your fault, but maybe we shouldn't overwrite 'dest' here?

> @@ -3738,7 +3745,7 @@ def outgoing(ui, repo, dest=None, **opts
>  ui.pager('outgoing')
>  return bookmarks.outgoing(ui, repo, other)
>  
> -repo._subtoppath = ui.expandpath(dest or 'default-push', dest or 
> 'default')
> +repo._subtoppath = path.pushloc or path.loc
>  try:
>  return hg.outgoing(ui, repo, dest, opts)
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D3187: phase: add dry-run functionality

2018-05-29 Thread khanchi97 (Sushil khanchi)
khanchi97 added a comment.


  @pulkit Now I moved the logic for finding revs (those phase will change)  to 
advanceboundry and retractboundry function and for now it shows all nodes. I am 
working to show range instead. Take a look at this when you are free :)

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3187

To: khanchi97, pulkit, #hg-reviewers
Cc: av6, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D3665: graph: improve graph output by using Unicode characters

2018-05-29 Thread johnstiles (John Stiles)
johnstiles added a comment.


  yuya, I believe these patches should address all of your concerns except for 
`encoding._wide`. I am not sure what your expectation is for that. I don't 
think it would make sense to silently disable the extension if `encoding._wide` 
is set; IMO that would cause user confusion. If a user sees that the log lines 
are not lining up properly, that is easy to understand, diagnose and fix 
(change your Terminal font). If the extension just silently doesn't work, that 
is much harder to fix.
  
  Let me know if you see anything else that you would like addressed! Thanks :)

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3665

To: johnstiles, #hg-reviewers
Cc: yuja, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel