Patchwork [RFC] incoming: show changed bookmarks in addition to new ones

login
register
mail settings
Submitter Ryan McElroy
Date Feb. 11, 2015, 3:52 a.m.
Message ID <80a86a48208bfb7013db.1423626771@devbig105.prn2.facebook.com>
Download mbox | patch
Permalink /patch/7784/
State Changes Requested
Delegated to: Matt Mackall
Headers show

Comments

Ryan McElroy - Feb. 11, 2015, 3:52 a.m.
# HG changeset patch
# User Ryan McElroy <rmcelroy@fb.com>
# Date 1422335152 28800
#      Mon Jan 26 21:05:52 2015 -0800
# Node ID 80a86a48208bfb7013db0604af0243850d21016d
# Parent  ff5caa8dfd993680d9602ca6ebb14da9de10d5f4
incoming: show changed bookmarks in addition to new ones

Currently, `hg incoming -B` shows only new bookmarks on the server, not updated
bookmarks. This seems wrong -- I would expect it to show all bookmark activity.
Certainly, the help message of 'compare bookmarks' implies that this is what it
will do. Let's make `incoming -B` behave like it feels it should.
Katsunori FUJIWARA - Feb. 11, 2015, 11:57 a.m.
At Tue, 10 Feb 2015 19:52:51 -0800,
Ryan McElroy wrote:
> 
> # HG changeset patch
> # User Ryan McElroy <rmcelroy@fb.com>
> # Date 1422335152 28800
> #      Mon Jan 26 21:05:52 2015 -0800
> # Node ID 80a86a48208bfb7013db0604af0243850d21016d
> # Parent  ff5caa8dfd993680d9602ca6ebb14da9de10d5f4
> incoming: show changed bookmarks in addition to new ones
> 
> Currently, `hg incoming -B` shows only new bookmarks on the server, not updated
> bookmarks. This seems wrong -- I would expect it to show all bookmark activity.
> Certainly, the help message of 'compare bookmarks' implies that this is what it
> will do. Let's make `incoming -B` behave like it feels it should.

Once I posted the series to show detail about bookmarks at
incoming/outgoing (refreshing them for current tip of hg repo is
queued in my own TODO list :-))
                                   
    http://selenic.com/pipermail/mercurial-devel/2013-November/054580.html
    http://selenic.com/pipermail/mercurial-devel/2013-November/054582.html

How about showing in this style ?

> diff --git a/mercurial/bookmarks.py b/mercurial/bookmarks.py
> --- a/mercurial/bookmarks.py
> +++ b/mercurial/bookmarks.py
> @@ -433,8 +433,8 @@ def diff(ui, dst, src):
>      smarks = src.listkeys('bookmarks')
>      dmarks = dst.listkeys('bookmarks')
>  
> -    diff = sorted(set(smarks) - set(dmarks))
> -    for k in diff:
> +    diff = sorted(set(smarks.items()) - set(dmarks.items()))
> +    for k, v in diff:
>          mark = ui.debugflag and smarks[k] or smarks[k][:12]
>          ui.write("   %-25s %s\n" % (k, mark))
>  
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel

----------------------------------------------------------------------
[FUJIWARA Katsunori]                             foozy@lares.dti.ne.jp
Augie Fackler - Feb. 11, 2015, 2:44 p.m.
On Feb 11, 2015, at 6:57 AM, FUJIWARA Katsunori <foozy@lares.dti.ne.jp> wrote:

> At Tue, 10 Feb 2015 19:52:51 -0800,
> Ryan McElroy wrote:
>> 
>> # HG changeset patch
>> # User Ryan McElroy <rmcelroy@fb.com>
>> # Date 1422335152 28800
>> #      Mon Jan 26 21:05:52 2015 -0800
>> # Node ID 80a86a48208bfb7013db0604af0243850d21016d
>> # Parent  ff5caa8dfd993680d9602ca6ebb14da9de10d5f4
>> incoming: show changed bookmarks in addition to new ones
>> 
>> Currently, `hg incoming -B` shows only new bookmarks on the server, not updated
>> bookmarks. This seems wrong -- I would expect it to show all bookmark activity.
>> Certainly, the help message of 'compare bookmarks' implies that this is what it
>> will do. Let's make `incoming -B` behave like it feels it should.
> 
> Once I posted the series to show detail about bookmarks at
> incoming/outgoing (refreshing them for current tip of hg repo is
> queued in my own TODO list :-))
> 
>    http://selenic.com/pipermail/mercurial-devel/2013-November/054580.html
>    http://selenic.com/pipermail/mercurial-devel/2013-November/054582.html
> 
> How about showing in this style ?

I agree that bookmarks incoming is currently somewhat broken (I'm shocked it doesn't mention moves!). It'd be nice to use foozy's proposed format if possible, but I'm not sure if that is okay within our BC policies. We'll probably need to revisit this in a couple of weeks when I can consult mpm.

> 
>> diff --git a/mercurial/bookmarks.py b/mercurial/bookmarks.py
>> --- a/mercurial/bookmarks.py
>> +++ b/mercurial/bookmarks.py
>> @@ -433,8 +433,8 @@ def diff(ui, dst, src):
>>     smarks = src.listkeys('bookmarks')
>>     dmarks = dst.listkeys('bookmarks')
>> 
>> -    diff = sorted(set(smarks) - set(dmarks))
>> -    for k in diff:
>> +    diff = sorted(set(smarks.items()) - set(dmarks.items()))
>> +    for k, v in diff:
>>         mark = ui.debugflag and smarks[k] or smarks[k][:12]
>>         ui.write("   %-25s %s\n" % (k, mark))
>> 
>> _______________________________________________
>> Mercurial-devel mailing list
>> Mercurial-devel@selenic.com
>> http://selenic.com/mailman/listinfo/mercurial-devel
> 
> ----------------------------------------------------------------------
> [FUJIWARA Katsunori]                             foozy@lares.dti.ne.jp
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
Ryan McElroy - Feb. 11, 2015, 4:24 p.m.
On 2/11/2015 6:44 AM, Augie Fackler wrote:
> On Feb 11, 2015, at 6:57 AM, FUJIWARA Katsunori <foozy@lares.dti.ne.jp> wrote:
>
>> Once I posted the series to show detail about bookmarks at
>> incoming/outgoing (refreshing them for current tip of hg repo is
>> queued in my own TODO list :-))
>>
>>     http://selenic.com/pipermail/mercurial-devel/2013-November/054580.html
>>     http://selenic.com/pipermail/mercurial-devel/2013-November/054582.html
>>
>> How about showing in this style ?
> I agree that bookmarks incoming is currently somewhat broken (I'm shocked it doesn't mention moves!). It'd be nice to use foozy's proposed format if possible, but I'm not sure if that is okay within our BC policies. We'll probably need to revisit this in a couple of weeks when I can consult mpm.
>
I definitely like that proposed more verbose style better. I think 
waiting for mpm makes sense, I wanted to get this out for comment while 
I remembered it though.

One thought would be to have hg incoming -B -v give this format:
http://selenic.com/pipermail/mercurial-devel/2013-November/054580.html

What hg incoming -B gives the more "compatible" format listed here? 
Would that solve most BC issues?

Whatever happened to that patchset? I only see replies from Sid in the 
thread there.

~Ryan
Sean Farley - Feb. 11, 2015, 6:03 p.m.
Ryan McElroy writes:

> On 2/11/2015 6:44 AM, Augie Fackler wrote:
>> On Feb 11, 2015, at 6:57 AM, FUJIWARA Katsunori <foozy@lares.dti.ne.jp> wrote:
>>
>>> Once I posted the series to show detail about bookmarks at
>>> incoming/outgoing (refreshing them for current tip of hg repo is
>>> queued in my own TODO list :-))
>>>
>>>     http://selenic.com/pipermail/mercurial-devel/2013-November/054580.html
>>>     http://selenic.com/pipermail/mercurial-devel/2013-November/054582.html
>>>
>>> How about showing in this style ?
>> I agree that bookmarks incoming is currently somewhat broken (I'm shocked it doesn't mention moves!). It'd be nice to use foozy's proposed format if possible, but I'm not sure if that is okay within our BC policies. We'll probably need to revisit this in a couple of weeks when I can consult mpm.
>>
> I definitely like that proposed more verbose style better. I think 
> waiting for mpm makes sense, I wanted to get this out for comment while 
> I remembered it though.

Yeah, it's really slick.

> One thought would be to have hg incoming -B -v give this format:
> http://selenic.com/pipermail/mercurial-devel/2013-November/054580.html
>
> What hg incoming -B gives the more "compatible" format listed here? 
> Would that solve most BC issues?

I might incur the wrath of mpm but I honestly think there is nothing
worth keeping about the current output.
Yuya Nishihara - Feb. 12, 2015, 3:11 p.m.
On Wed, 11 Feb 2015 10:03:11 -0800, Sean Farley wrote:
> Ryan McElroy writes:
> > On 2/11/2015 6:44 AM, Augie Fackler wrote:
> >> On Feb 11, 2015, at 6:57 AM, FUJIWARA Katsunori <foozy@lares.dti.ne.jp> wrote:
> >>
> >>> Once I posted the series to show detail about bookmarks at
> >>> incoming/outgoing (refreshing them for current tip of hg repo is
> >>> queued in my own TODO list :-))
> >>>
> >>>     http://selenic.com/pipermail/mercurial-devel/2013-November/054580.html
> >>>     http://selenic.com/pipermail/mercurial-devel/2013-November/054582.html
> >>>
> >>> How about showing in this style ?
> >> I agree that bookmarks incoming is currently somewhat broken (I'm shocked it doesn't mention moves!). It'd be nice to use foozy's proposed format if possible, but I'm not sure if that is okay within our BC policies. We'll probably need to revisit this in a couple of weeks when I can consult mpm.
> >>
> > I definitely like that proposed more verbose style better. I think 
> > waiting for mpm makes sense, I wanted to get this out for comment while 
> > I remembered it though.
> 
> Yeah, it's really slick.

I like that, but it seems the last column, "advanced remotely", etc., is too
verbose compared to other parsable commands.

> > One thought would be to have hg incoming -B -v give this format:
> > http://selenic.com/pipermail/mercurial-devel/2013-November/054580.html
> >
> > What hg incoming -B gives the more "compatible" format listed here? 
> > Would that solve most BC issues?
> 
> I might incur the wrath of mpm but I honestly think there is nothing
> worth keeping about the current output.

There's a patch for thg that parses the output of incoming/outgoing -B.
I hope the new format will be enabled by -v.

Regards,
Pierre-Yves David - March 2, 2015, 9:15 p.m.
On 02/11/2015 02:44 PM, Augie Fackler wrote:
>
> On Feb 11, 2015, at 6:57 AM, FUJIWARA Katsunori <foozy@lares.dti.ne.jp> wrote:
>
>> At Tue, 10 Feb 2015 19:52:51 -0800,
>> Ryan McElroy wrote:
>>>
>>> # HG changeset patch
>>> # User Ryan McElroy <rmcelroy@fb.com>
>>> # Date 1422335152 28800
>>> #      Mon Jan 26 21:05:52 2015 -0800
>>> # Node ID 80a86a48208bfb7013db0604af0243850d21016d
>>> # Parent  ff5caa8dfd993680d9602ca6ebb14da9de10d5f4
>>> incoming: show changed bookmarks in addition to new ones
>>>
>>> Currently, `hg incoming -B` shows only new bookmarks on the server, not updated
>>> bookmarks. This seems wrong -- I would expect it to show all bookmark activity.
>>> Certainly, the help message of 'compare bookmarks' implies that this is what it
>>> will do. Let's make `incoming -B` behave like it feels it should.
>>
>> Once I posted the series to show detail about bookmarks at
>> incoming/outgoing (refreshing them for current tip of hg repo is
>> queued in my own TODO list :-))
>>
>>     http://selenic.com/pipermail/mercurial-devel/2013-November/054580.html
>>     http://selenic.com/pipermail/mercurial-devel/2013-November/054582.html
>>
>> How about showing in this style ?
>
> I agree that bookmarks incoming is currently somewhat broken (I'm shocked it doesn't mention moves!). It'd be nice to use foozy's proposed format if possible, but I'm not sure if that is okay within our BC policies. We'll probably need to revisit this in a couple of weeks when I can consult mpm.

I'm late to the party, but +! on this. Not entirely sold on the details 
of foozy style. But the general format seems pretty good.

Patch

diff --git a/mercurial/bookmarks.py b/mercurial/bookmarks.py
--- a/mercurial/bookmarks.py
+++ b/mercurial/bookmarks.py
@@ -433,8 +433,8 @@  def diff(ui, dst, src):
     smarks = src.listkeys('bookmarks')
     dmarks = dst.listkeys('bookmarks')
 
-    diff = sorted(set(smarks) - set(dmarks))
-    for k in diff:
+    diff = sorted(set(smarks.items()) - set(dmarks.items()))
+    for k, v in diff:
         mark = ui.debugflag and smarks[k] or smarks[k][:12]
         ui.write("   %-25s %s\n" % (k, mark))