Commits on Jan 22, 2011
  1. Add a check for empty repos.

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

    hvr committed Nov 6, 2010
    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. Merge branch 'rm-storage-del' of…

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

    hvr committed Nov 6, 2010
    …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. Remove Storage.__del__

    scbash committed Oct 21, 2010
    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."

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

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

    scbash authored and hvr committed Oct 8, 2010
    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. Extend CachedChangeset and modify CachedRepo for get_branches

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

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

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

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

    hvr committed Oct 17, 2010
    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`

    hvr committed Oct 17, 2010
    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

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

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

    hvr committed Oct 17, 2010
    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()

    hvr committed Oct 17, 2010
    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

    hvr committed Oct 17, 2010
    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

    hvr committed Oct 16, 2010
    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

    hvr committed Oct 16, 2010
    Merge commit display code has been "reused" from TracMercurial
  3. Workaround for missing git submodules support

    hvr committed Oct 16, 2010
    Without this workaround gitplugin triggers runtime exceptions.
    See also
  4. add `.gitignore` file

    hvr committed Oct 16, 2010
  5. bump up version to

    hvr committed Oct 16, 2010
  6. ``: Untabify and convert to 4-space indentation …

    hvr committed Oct 16, 2010
    …according to PEP-8