lp://staging/~gagern/trac-bzr/noancestry
Obtaining the full ancestry of a revision is an expensive operation and should be avoided wherever feasible.
Parts of this branch have already been merged into trunk, while other solutions are too experimental yet.
- Get this branch:
- bzr branch lp://staging/~gagern/trac-bzr/noancestry
Branch merges
Branch information
Recent revisions
- 88. By Martin von Gagern
-
Experimental revno calculation for BzrDirNode based on lefthand history.
This experimental modification reproduces pretty much the algorithm from
BzrVersionedNode.get_history: iterate through lefthand history, looking for
changesets (or in this case the latest changeset) touching a given
directory. This gets rid of get_ancestry in the get_content_revision
method.With large subtrees which have been modified recently this algorithm will
perform much better. On the other hand, with small directories that haven't
been modified in a long time, this iteration over changesets will probably
be much more expensive than the old approach.The resulting revision numbers will be different as well. Where the old
approach yielded the (probably dotted) revno of the last child modification
according to some topologicaly sorted but otherwise arbitrary ancestry, this
new approach uses only lefthand history and will therefore always yield
mainline revision numbers if starting from a mainline revision. This
contrasts with the revision numbers for files, which are still dotted ones. - 87. By Martin von Gagern
-
Base short_rev on truncated dotted_revno.
This avoids get_ancestry in BzrRepository.
short_rev and also carries more
detailed information than the previous approach did. On the downside, there
is no visual indication of shortened revnos, so if someone copies such a
short rev, instead of simply clicking on the (long rev) link, the revision
might be wrong. I chose to sacrifice such truncation indication for more
digits from the actual dotted revno. - 84. By Martin von Gagern
-
Split trac components.
This way the different components can be enabled and disabled individually.
So people could enable the repository but disable the wiki macro, or disable
the properties renderer to get the properties rendered as simple text. - 79. By Martin von Gagern
-
Allow for null: and current: revisions also on versioned branches. LP #488662
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp://staging/trac-bzr