A (static) git repository browser [mirror]
Go to file
Alberto Bertogli 518188288e Cache some (possibly) expensive function calls
This patch memoizes some of the functions to help speed up execution.
The speedup is quite variable, but ~30% is normal when generating a
medium size repository, and the output is byte-for-byte identical.
2022-08-31 23:15:16 +01:00
hooks Add a post-receive hook 2013-03-12 22:09:25 +00:00
static css: Improve handling of text overflow in <pre> 2021-05-15 01:24:58 +01:00
views Simplify smstr 2020-05-24 16:05:18 +01:00
.gitignore Move to Python 3 2020-05-24 04:50:39 +01:00
git-arr Cache some (possibly) expensive function calls 2022-08-31 23:15:16 +01:00
git.py Cache some (possibly) expensive function calls 2022-08-31 23:15:16 +01:00
LICENSE Initial commit 2012-11-10 17:49:54 +00:00
pyproject.toml Auto-format the code with black 2020-05-24 16:04:04 +01:00
README.md Update README 2020-05-25 02:22:53 +01:00
sample.conf git-arr: Implement an "ignore" option 2015-11-07 12:04:09 +00:00
utils.py Cache some (possibly) expensive function calls 2022-08-31 23:15:16 +01:00

git-arr - A git repository browser

git-arr is a git repository browser that can generate static HTML.

It is smaller, with less features and a different set of tradeoffs than other similar software, so if you're looking for a robust and featureful git browser, please look at gitweb or cgit instead.

However, if you want to generate static HTML at the expense of features, then it's probably going to be useful.

It's open source under the MIT licence, please see the LICENSE file for more information.

Getting started

You will need Python 3, and the bottle.py framework (the package is usually called python3-bottle in most distributions).

If pygments is available, it will be used for syntax highlighting, otherwise everything will work fine, just in black and white.

First, create a configuration file for your repositories. You can start by copying sample.conf, which has the list of the available options.

Then, to generate the output to /var/www/git-arr/ directory, run:

./git-arr --config config.conf generate --output /var/www/git-arr/

That's it!

The first time you generate, depending on the size of your repositories, it can take some time. Subsequent runs should take less time, as it is smart enough to only generate what has changed.

You can also use git-arr dynamically, although it's not its intended mode of use, by running:

./git-arr --config config.conf serve

That can be useful when making changes to the software itself.

Contact

If you want to report bugs, send patches, or have any questions or comments, just let me know at albertito@blitiri.com.ar.