Astblick

Literally, branch view.

Astblick is a simple CherryPy gitolite repository viewer.

For each repository, simply provide the name, URL, and path to a passwordless SSH key with read access to the repo. Astblick will then keep an updated clone and help you explore it.

0.9.6 is the current version, released under the GNU GPLv3 or any later version.

== A simple gitolite repository viewer

Astblick will connect to your gitolite repository(ies), clone a local copy, and let you browse them.

=== Requirements

=== Installation

  1. Install the dependencies. Most of these are available in most Linux distributions, but pip or a virtualenv is fine if necessary.

  2. To run under your own user, just unpack the tarball. You can also set up as a system daemon using the enclosed systemd unit file.

  3. Run the daemon once to create the database and config file. The database will be at ~/.astblick.db, and the config is ~/.astblick.conf.

    [Options]
    database = /home/<username>/.astblick.db
    ip = 127.0.0.1
    port = 8080
    refresh = 300
    key = /home/<astblick>/.astblick_key.pem
    cert = /home/<astblick>/.astblick_cert.pem
    tempdir = 0

astblick-repo will also create the config file if not present.

  1. Modify the config file as needed.

  2. Create a passwordless RSA ssh key. The recommended path and filename is

~/.ssh/astblick
  1. Add the public RSA key to the keydir of your gitolite-admin, and grant R access to that key for the repos you'd like to use Astblick with.

  2. Access the gitolite host via ssh as the user you'll be running Astblick as, so that the host key is added to ~/.ssh/known_hosts.

  3. Run astblick-repo. Enter a repo name, gitolite URL, and key name for each repository. For my installation, to view my Astblick repo, I have:

    Astblick | gitolite3@hostname:astblick | ~/.ssh/astblick
  1. Start the daemon, either manually or via systemd.

  2. Browse to https://(hostname or ip address)[:port]

  3. After the number of seconds in the refresh parameter in the config file, Astblick will create local clones of the configured repositories.

  4. Once created, you can click through your repositories, display text files, open other files externally, and view images by clicking and holding on the image's filename. Clicking a commit's SHA hash button will open a new tab containing a syntax-highlighted diff for that commit.

  5. There are also dropdowns in each section to allow you to view diffs between arbitrary commits.

=== tempdir note

If tempdir = 0, the default, Astblick will clone repositories to a folder in the current user's homedir, and read from those clones. If you set tempdir = 1, it will still clone to that location, but it will also then create a secure tempdir, clone the repositories to that additional location, and read from those clones. This can result in a slight performance increase, especially if your tempdir is on tmpfs. Use what works better for your situation.

links

social