Merge lp://staging/~vila/bzr/320119-exclude-ancestry into lp://staging/bzr
Status: | Merged |
---|---|
Approved by: | Vincent Ladeuil |
Approved revision: | no longer in the source branch. |
Merged at revision: | not available |
Proposed branch: | lp://staging/~vila/bzr/320119-exclude-ancestry |
Merge into: | lp://staging/bzr |
Prerequisite: | lp://staging/~vila/bzr/cleanup-log-direction |
Diff against target: |
428 lines (+189/-17) 8 files modified
NEWS (+7/-1) bzrlib/branch.py (+16/-2) bzrlib/builtins.py (+14/-2) bzrlib/log.py (+35/-11) bzrlib/tests/blackbox/test_log.py (+12/-0) bzrlib/tests/per_branch/test_iter_merge_sorted_revisions.py (+44/-0) bzrlib/tests/per_repository_reference/__init__.py (+1/-1) bzrlib/tests/test_log.py (+60/-0) |
To merge this branch: | bzr merge lp://staging/~vila/bzr/320119-exclude-ancestry |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Andrew Bennetts | Needs Fixing | ||
Review via email:
|
Commit message
Add --exclude-
Description of the change
This patch adds an --exclude-
a real graph difference (killing two birds with one stone, it also fixes bug #320119).
From now on, I consider that the log has reached the point where it's really
hard to add new features. The major culprit is the optimization to avoid
loading the whole graph, so no need to spend much time on the log code
unless this problem is correctly addressed.
The performance impact may be significant but I'd like real-life feedback on its
usage before trying to replace the is_ancestor() call by any caching of the X ancestry
(which may be quite significant anyway).
Again, having a better lazy-loaded graph ancestry is needed there.
This seems like something other commands than log will want; perhaps we
should tackle it using an algreba, like git does?