Skip to main content

Grit is a simple git repo manager with limited remote object proxying, a http back-end and simple cli.

Project description

1 Overview

Grit is a simple and light-weight git repository manager or git-compatible digital asset management system with limited remote object proxying, a http back-end and easy to use command line, python and cli user interfaces.


This is early prototype code, is missing many important features and probably won’t work for you.


1.1 Features

  • Python WSGI “Smart HTTP” server
  • Limited remote object proxying
  • Stream blob data from remote repositories
  • Hierarchical repos with top-down inheritance
  • Check out individual blobs
  • Python and HTTP+JSON read/write API
  • Supports a centralized workflow
  • Command line, Python and web UIs
  • Git not required

1.2 Known Issues

Known issues as of this release:

  • Currently no support for diff, status, submodule or tag
  • Poor performance with large binary files
  • Can only checkout repos and blobs, not trees

1.3 Requirements

  • Python (2.6.5)
  • Dulwich (0.7.0)
  • Git (optional)

1.4 Noted differences from git

  • A branch in grit is different from a branch in git in that a branch is a child of a repo and inherits its files automatically. Files can be overwritten at the branch level.
  • Grit supports (limited) remote object proxying, so you can browse and get information about an object without checking it out.
  • Checkouts in grit are different in that you can check out a given version (latest by default) of a repo, or a single file.

2 Installation

$ easy_install grit

or, download the source and

$ sudo python install

2.1 Environment Variables

The following environment variables are used, but not required.

GRIT_LOG_LEVEL     logging level (default is 20)
GRIT_SERVER_PORT   default port to run the grit server on (default is 8080)
GRIT_STATIC_DIR    filesystem location for serving web UI elements

3 Basic Usage



new     make new repo at url
co      check out files from repo at url
ci      check in files to repo at url
serve   serve a repo or directory of repos

4 License

See file named LICENSE for license terms governing over the entire project.

Some, explisitely labeled so constituent files/works are licensed under separate, more-permissive terms. See disclaimers at the start of the files for details.

Project details

Release history Release notifications

This version
History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
grit-0.1.tar.gz (60.4 kB) Copy SHA256 hash SHA256 Source None Aug 13, 2012

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page