diff options
author | Alberto Bertogli <albertito@blitiri.com.ar> | 2015-11-07 12:54:22 +0100 |
---|---|---|
committer | Alberto Bertogli <albertito@blitiri.com.ar> | 2015-11-07 13:04:09 +0100 |
commit | cacf2ee2cc9f291e5759b854126d25216ee01cd4 (patch) | |
tree | 88e9f1002703f3cc853ad3db138f398d4878b7c8 | |
parent | c4e6484bb00e93b55e1f94f3464a40a3bd12f01f (diff) | |
download | git-arr-fork-cacf2ee2cc9f291e5759b854126d25216ee01cd4.zip |
git-arr: Implement an "ignore" option
When having symbolic links to the same repositories (e.g. if you have "repo"
and a "repo.git" linking to it), it can be useful to ignore based on regular
expressions to avoid having duplicates in the output.
Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
-rwxr-xr-x | git-arr | 9 | ||||
-rw-r--r-- | sample.conf | 7 |
2 files changed, 14 insertions, 2 deletions
@@ -5,10 +5,11 @@ git-arr: A git web html generator. from __future__ import print_function -import sys -import os import math import optparse +import os +import re +import sys try: import configparser @@ -58,6 +59,7 @@ def load_config(path): 'git_url_file': 'cloneurl', 'embed_markdown': 'yes', 'embed_images': 'no', + 'ignore': '', } config = configparser.SafeConfigParser(defaults) @@ -88,6 +90,9 @@ def load_config(path): config.remove_section(s) for s in config.sections(): + if config.get(s, 'ignore') and re.search(config.get(s, 'ignore'), s): + continue + fullpath = find_git_dir(config.get(s, 'path')) if not fullpath: raise ValueError( diff --git a/sample.conf b/sample.conf index fb8bbdd..d91f5a7 100644 --- a/sample.conf +++ b/sample.conf @@ -67,6 +67,13 @@ path = /srv/git/repo/ # Default: no #embed_images = no +# Ignore repositories that match this regular expression. +# Generally used with recursive = yes, to ignore repeated repositories (for +# example, if using symlinks). +# For ignoring specific repositories, putting a "disable_gitweb" is a much +# better alternative. +# Default: empty (don't ignore) +#ignore = \.git$ # Another repository, we don't generate a tree for it because it's too big. [linux] |