Differences between revisions 2 and 4 (spanning 2 versions)
Revision 2 as of 2012-02-28 14:20:50
Size: 898
Comment: Fill "Work in Progress"
Revision 4 as of 2012-04-13 08:13:22
Size: 2476
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
A brief description.
Line 9: Line 7:
== Work in Progress == == Done ==
Line 11: Line 9:
With these submitted patch series, graphlog supports the same options than log command, and we can consider merging boths: With these submitted patches, graphlog supports the same options as log command, and we can consider merging boths:
Line 14: Line 12:

[[http://selenic.com/pipermail/mercurial-devel/2012-February/038269.html]]
Line 23: Line 23:
=== http://selenic.com/pipermail/mercurial-devel/2012-February/038322.html === === http://selenic.com/pipermail/mercurial-devel/2012-March/038869.html ===
Line 25: Line 25:
 * revset: add hidden() revset, undocumented
 * graphlog: support --hidden
[[http://selenic.com/pipermail/mercurial-devel/2012-March/038869.html]]

* Improve --only-branch
* Support old-style --rev

=== http://selenic.com/pipermail/mercurial-devel/2012-April/039148.html ===

[[http://selenic.com/pipermail/mercurial-devel/2012-April/039148.html]]

* Refactor graphlog.revset() to return revisions
* Fix --follow/--follow-first again
* Fix --branch lookup
* Fix calls in subdirectories
* Fix performance regression related to the order of evaluation of changesets in revsets
Line 30: Line 42:
coming soon === log command ===

 1. Implement --hidden. At this point, the revset version is feature complete and pass all tests.
 1. Turn revset.match() into a generator. Otherwise the time to first byte with --limit queries is too large.
 1. Maybe invent something to handle multiple predicated like "--user foo --user bar" without scanning the changelog multiple times.
 1. Think a bit about killing hgext/graphlog.py, compatibility and perhaps leaving stubs here.
 1. Profit!

=== incoming/outgoing commands ===

 1. Decide what to do about --newest-first
 1. ? Look at hg._incoming()/_outgoing() (recurse in subrepos ?)

=== random improvements ===

 1. Improve the error message on --follow FILE --removed, [[http://mercurial.selenic.com/bts/issue2139|issue2139]]
 1. Document that "hg log 'set:added()'" is not the same than "hg log -r 'file("set:added()")'"
 1. Mention filesets in "hg help patterns" before the last line
 1. Display renames correctly with "hg log --follow file", see the second part of this [[http://selenic.com/pipermail/mercurial-devel/2012-February/038275.html|changelog]] for details

Merging Graphlog in Core

1. Done

With these submitted patches, graphlog supports the same options as log command, and we can consider merging boths:

1.1. http://selenic.com/pipermail/mercurial-devel/2012-February/038269.html

http://selenic.com/pipermail/mercurial-devel/2012-February/038269.html

  • graphlog: implement --copies
  • graphlog: evaluate FILE/-I/-X filesets on the working dir
  • match: consider filesets as "anypats"
  • test-glog: rewrite more tests using testlog() function
  • graphlog: fix --removed
  • context: add followfirst arg to filectx and workingfilectx
  • graphlog: apply file filters --patch/--stat output

1.2. http://selenic.com/pipermail/mercurial-devel/2012-March/038869.html

http://selenic.com/pipermail/mercurial-devel/2012-March/038869.html

* Improve --only-branch * Support old-style --rev

1.3. http://selenic.com/pipermail/mercurial-devel/2012-April/039148.html

http://selenic.com/pipermail/mercurial-devel/2012-April/039148.html

* Refactor graphlog.revset() to return revisions * Fix --follow/--follow-first again * Fix --branch lookup * Fix calls in subdirectories * Fix performance regression related to the order of evaluation of changesets in revsets

2. To Do

2.1. log command

  1. Implement --hidden. At this point, the revset version is feature complete and pass all tests.
  2. Turn revset.match() into a generator. Otherwise the time to first byte with --limit queries is too large.
  3. Maybe invent something to handle multiple predicated like "--user foo --user bar" without scanning the changelog multiple times.
  4. Think a bit about killing hgext/graphlog.py, compatibility and perhaps leaving stubs here.
  5. Profit!

2.2. incoming/outgoing commands

  1. Decide what to do about --newest-first
  2. ? Look at hg._incoming()/_outgoing() (recurse in subrepos ?)

2.3. random improvements

  1. Improve the error message on --follow FILE --removed, issue2139

  2. Document that "hg log 'set:added()'" is not the same than "hg log -r 'file("set:added()")'"
  3. Mention filesets in "hg help patterns" before the last line
  4. Display renames correctly with "hg log --follow file", see the second part of this changelog for details


CategoryAudit

MergingGraphlogInCorePlan (last edited 2012-11-06 23:07:02 by abuehl)