Commits on Nov 19, 2011
  1. Merge pull request #12 from andersk/deforkify

    Use git cat-file --batch and git log --name-status to avoid repeated fork+exec
    committed Nov 19, 2011
  2. last_change: Use git log --name-status to avoid repeated fork+exec

    Signed-off-by: Anders Kaseorg <>
    andersk committed Oct 21, 2011
Commits on Nov 18, 2011
  1. Use git cat-file --batch, to avoid repeated fork+exec

    Signed-off-by: Anders Kaseorg <>
    andersk committed Oct 21, 2011
  2. GitCore: Abstract out __pipe

    Signed-off-by: Anders Kaseorg <>
    andersk committed Oct 21, 2011
Commits on Aug 19, 2011
Commits on Jan 22, 2011
  1. Add a check for empty repos.

    coderanger committed with Jan 21, 2011
Commits on Nov 6, 2010
  1. Implement `Repository.get_path_url()`

    Since git urls carry no path or revision information we always return
    the same clone url regardless of the current shown revision or path.
    The url returned is the `url` property associated with the repository.
    committed Nov 6, 2010
  2. Merge branch 'rm-storage-del' of…

    …lugin into scbash-rm-storage-del
    committed Nov 6, 2010
  3. Provide `Repository.parent_revs()` and `Repository.children_revs()` f…

    …or `ticket-1492-svgweb`
    With this change and together with rblank's graph view implementation
    we get a working git commit graph view.
    (See for discussion)
    committed Nov 6, 2010
Commits on Oct 21, 2010
  1. Remove Storage.__del__

    On some machines the log message caused "Write to closed fd" while
    Python shutdown.  It was never all that helpful...
    scbash committed Oct 21, 2010
Commits on Oct 20, 2010
  1. Revert "Hopefully fix GitPlugin's broken caching behavior."

    (due to unclear infinite-self-recursion issue)
    This reverts commit f65bc12.
    committed Oct 20, 2010
  2. Merge branch 'cached-get-branch' of…

    …-plugin into scbash-cached-get-branch
    committed Oct 20, 2010
  3. Hopefully fix GitPlugin's broken caching behavior.

    This hopefully fixes all the "no such changeset" errors in Trac.  Basically
    trac-admin's changeset added event updates trac-admin's GitPlugin's cache
    (and Trac's persistent cache), but Trac that's running under Apache is a
    separate process and thus GitPlugin's non-peristent cache goes stale without
    GitPlugin knowing it.  Trac's persistent cache contains a new changeset, Trac
    attempts to construct a CachedChangeset, which calls normalize_rev, which in
    turn calls verifyrev.  This fix causes verifyrev to rebuild GitPlugin's cache
    if git rev-parse returns a valid SHA that isn't in the current cache.
    scbash committed with Oct 8, 2010
  4. Extend CachedChangeset and modify CachedRepo for get_branches

    Trac's CachedChangeset does not implement get_branches, which is
    required to show branch information on the timeline.  This commit
    creates a CachedChangeset2 which GitPlugin's CachedRepository2
    returns when asked for a changeset.  The new class uses GitPlugin's
    internal rev_cache to speed up the branch information retrieval
    (shamelessly copied from GitChangeset.get_branches)
    scbash committed Oct 20, 2010
Commits on Oct 19, 2010
Commits on Oct 18, 2010
  1. PyGIT: added `GitCore.__repr__` to help debugging, otherwise `GitCore…

    ….__getattr__` gets in the way.
    Christian Boos committed with Jul 26, 2010
Commits on Oct 17, 2010
  1. Add backport of Python 2.6+'s `collections.namedtuple` and use it for…

    … the `RevCache` tuple.
    committed Oct 17, 2010
  2. Increment version to

    committed Oct 17, 2010
  3. Reimplement git filesystem charset handling

    Make use of the new encoding handling implemented in the
    `PyGit.Storage`. So now Trac should always get pathnames as unicode
    A new TracIni option `git_fs_encoding` can be used to change the
    default utf8 encoding.
    This implementation assumes `from_unicode(to_unicode(.))` to be an
    identity function.
    committed Oct 17, 2010
  4. Add `git_fs_encoding` parameter to `Storage` and `StorageFactory`

    This optional parameter allows to enable on-the-fly en/decoding of
    bytestrings (as seen by git) from/to unicode objects (as seen by Trac)
    committed Oct 17, 2010
  5. Increment version to

    committed Oct 17, 2010
  6. Minor cleanups recommended by pylint

    Mostly whitespace changes
    committed Oct 17, 2010
  7. Add `Branches` property to changeset views.

    The `Branches` property is rendered as links to the reachable
    branch tips labeled by the branch name.
    While at it, refactor joining of rendered property list items with new
    `intersperse()` helper function.
    committed Oct 17, 2010
  8. Implement GitChangeset.get_branches()

    This results in branch annotations in the timeline view.
    For now, GitChangeset.get_branches() returns all the branches the
    given changeset is on, or to quote the `git branch` man-page: "In
    other words, the branches whose tip commits are descendants of the
    named commit."
    committed Oct 17, 2010
  9. Code refactoring: introduce `RevCache` namedtuple instance to make co…

    …de more readabale
    committed Oct 17, 2010
  10. Add reachable heads for each revision to revision cache

    Also switch to `git rev-list --topo-order` traversal in order to avoid
    a 2nd pass in Python.
    committed Oct 17, 2010
Commits on Oct 16, 2010
  1. Add support for abbreviated wiki sha ids

    This introduces a new option `wiki_shortrev_len`, which defines the
    minimum length for which hex-strings are interpreted as sha ids.
    committed Oct 16, 2010
  2. Refactor IPropertyRender component and improve display of merge commits

    Merge commit display code has been "reused" from TracMercurial
    committed Oct 16, 2010