Differences between revisions 4 and 6 (spanning 2 versions)
Revision 4 as of 2012-04-13 08:13:22
Size: 2476
Comment:
Revision 6 as of 2012-08-02 14:11:14
Size: 2574
Comment:
Deletions are marked like this. Additions are marked like this.
Line 27: Line 27:
* Improve --only-branch
* Support old-style --rev
 * Improve --only-branch
 * Support old-style --rev
Line 34: Line 34:
* 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
 * 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

=== Mercurial 2.3 ===

 * Implement --hidden. At this point, the revset version is feature complete and pass all tests.
 * Move graphlog code in core, add default support for log --graph, leave almost empty graphlog extension.
 * Support outgoing/incoming --graphlog by default.
Line 44: Line 50:
 1. Implement --hidden. At this point, the revset version is feature complete and pass all tests.
Line 47: Line 52:
 1. Think a bit about killing hgext/graphlog.py, compatibility and perhaps leaving stubs here.

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

1.4. Mercurial 2.3

  • Implement --hidden. At this point, the revset version is feature complete and pass all tests.
  • Move graphlog code in core, add default support for log --graph, leave almost empty graphlog extension.
  • Support outgoing/incoming --graphlog by default.

2. To Do

2.1. log command

  1. Turn revset.match() into a generator. Otherwise the time to first byte with --limit queries is too large.
  2. Maybe invent something to handle multiple predicated like "--user foo --user bar" without scanning the changelog multiple times.
  3. 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)