On 4/3/17 9:46 AM, Gregory Szorc wrote:
On Mon, Apr 3, 2017 at 9:37 AM, Durham Goode <dur...@fb.com <mailto:dur...@fb.com>> wrote: On 4/3/17 8:36 AM, Augie Fackler wrote: On Mon, Apr 03, 2017 at 08:17:33AM -0700, Gregory Szorc wrote: On Apr 3, 2017, at 08:07, Yuya Nishihara <y...@tcha.org <mailto:y...@tcha.org>> wrote: On Sat, 1 Apr 2017 20:42:10 +0900, Yuya Nishihara wrote: On Fri, 24 Mar 2017 19:31:20 -0700, Gregory Szorc wrote: # HG changeset patch # User Gregory Szorc <gregory.sz...@gmail.com <mailto:gregory.sz...@gmail.com>> # Date 1490408340 25200 # Fri Mar 24 19:19:00 2017 -0700 # Node ID 42b0afe0f6ebea285569e0061e1eab2fcffb686e # Parent aea8ec3f7dd1967a05ecce8f779e16f7ad14fdee show: new extension for displaying various repository data Looks good, and there seems no negative comment on this, so I'll queue it tomorrow or next Monday. Finally pushed this. \o/ So, I could use some help adding new views to this. It is experimental and there is no BC, so I think I can encourage people to experiment :) I'd *really* like to get some form of smartlog/wip/underway in show for 4.2. I've barely started that work. Is anyone willing to work on that? If not, I can try to hack on something basic. Durham, do you have anyone that might be interested in getting smartlog-type functionality in core as part of 'hg show'? There's a couple options here. The simplest V1 would be to have the hg show view just be an alias for this: hg log --config experimental.graphstyle.grandparent='2.' -G -r '::(draft() & (date(-14) | ::bookmark())) & draft() + ancestor(draft() & (date(-14) | ::bookmark())) + . + present(master) + present(@)' (in human words: draft ancestors of your bookmarks and your last 2 weeks of unbookmarked drafts, plus the common ancestor of those, plus your working copy location, plus master-or-@) with some fancy template alias (I've provided our '{sl}' template here https://bpaste.net/show/72b096bea240 <https://urldefense.proofpoint.com/v2/url?u=https-3A__bpaste.net_show_72b096bea240&d=DwMFaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=nuarHzhP1wi1T9iURRCj1A&m=74unOuh78CSF2f62gL8Nc1VGzXr9oTZ-cRnncG5wblk&s=DVsTAmn_B3aOcSjpN1pZUXCsW4Hg5hwpoidEXdsE2UE&e=>). It's not quite fast enough on a huge repo, but for everyone else it's probably fine. That's similar to how `hg wip` is implemented. I was also thinking that initially implementing it in terms of a pre-defined revset + template would be a good first start. The second option is we could reuse our existing smartlog extension implementation. It results in better output because it's smarter about sorting (to avoid line crosses, instead of just outputting in rev order) and smarter about figuring out what is 'master' in the repo and about efficiently doing the computation (not using revsets in some cases). But it's about 500 lines of not-pretty code that we probably wouldn't have time to pretty-up. Since there are no BC guarantees for show yet, let's land a revset + template implementation in 4.2 then iterate with smartlog's features in the 4.3 cycle. Sound like a plan?
Sounds good. What are we calling it? "hg show mycommits"? _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel