From cacf2ee2cc9f291e5759b854126d25216ee01cd4 Mon Sep 17 00:00:00 2001 From: Alberto Bertogli Date: Sat, 7 Nov 2015 11:54:22 +0000 Subject: [PATCH] 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 --- git-arr | 9 +++++++-- sample.conf | 7 +++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/git-arr b/git-arr index a245855..7e665dd 100755 --- a/git-arr +++ b/git-arr @@ -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]