Skip to content
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
  2. @andersk

    last_change: Use git log --name-status to avoid repeated fork+exec

    andersk committed
    Signed-off-by: Anders Kaseorg <>
Commits on Nov 18, 2011
  1. @andersk

    Use git cat-file --batch, to avoid repeated fork+exec

    andersk committed
    Signed-off-by: Anders Kaseorg <>
  2. @andersk

    GitCore: Abstract out __pipe

    andersk committed
    Signed-off-by: Anders Kaseorg <>
Commits on Aug 19, 2011
Commits on Jan 22, 2011
  1. @coderanger

    Add a check for empty repos.

    coderanger committed with
  2. @coderanger
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.
  2. 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)
Commits on Oct 21, 2010
  1. @scbash

    Remove Storage.__del__

    scbash committed
    On some machines the log message caused "Write to closed fd" while
    Python shutdown.  It was never all that helpful...
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.
  2. Merge branch 'cached-get-branch' of…

    …-plugin into scbash-cached-get-branch
  3. @scbash

    Hopefully fix GitPlugin's broken caching behavior.

    scbash committed with
    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.
  4. @scbash

    Extend CachedChangeset and modify CachedRepo for get_branches

    scbash committed
    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)
Commits on Oct 19, 2010
  1. @scbash
Commits on Oct 18, 2010
  1. PyGIT: added `GitCore.__repr__` to help debugging, otherwise `GitCore…

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

    … the `RevCache` tuple.
  2. Increment version to

  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.
  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)
  5. Increment version to

  6. Minor cleanups recommended by pylint

    Mostly whitespace changes
  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.
  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."
  9. 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.
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.
  2. Refactor IPropertyRender component and improve display of merge commits

    Merge commit display code has been "reused" from TracMercurial
Something went wrong with that request. Please try again.