19 Commits
Author SHA1 Message Date
Trevor Bentley f89f44b340 fetch_remote setting to disable remote repo updates 2023-01-26 01:30:20 +01:00
Trevor Bentley c257ba12f0 Add limit_commit_ids_to_related setting.
Each template received `commit_ids`, a list of ALL commit hashes known
to Itsy-Gitsy.  For large repos with hundreds of thousands or millions
of commits, this huge list uses lots of memory and takes a long time
to search.

`limit_commit_ids_to_related` reduces the list to just a handful of
relevant commits for certain templates, which can give a massive
performance boost.
2023-01-20 02:26:16 +01:00
Trevor Bentley d83f682aa2 refactor: support parallel execution
* parallel processing of multiple repositories
* parallel parsing of git history
* parallel template output
* configuration option for number of threads
* improved detection of exceeded size limits

Side effects of parallel execution are out-of-order output messages,
and larger potential overshoot in both processing and detecting when
limits are exceeded.  It will stop if it exceeds the limits, but it
can exceed them by more before stopping.

Processing of extremely large repositories is several times faster.

The order of commits in the history output might not match the output
of `git log`, since the order of commits in the log can change when
splitting it up into smaller pieces.
2023-01-19 20:55:26 +01:00
Trevor Bentley 570a357c51 major refactoring: remove 1-to-1 limit of template-to-output
Large refactoring that:
 * allow any template to be used any number of times
 * combine config's gitsy_templates and gitsy_outputs into gitsy_outputs
 * improves safety of output file names
 * prepares foundation for slugified permalinks
 * prepares foundation for parallelizing more execution
2023-01-16 21:56:44 +01:00
Trevor Bentley ca747583d2 document syntax_css in config.toml 2023-01-15 23:46:20 +01:00
Trevor Bentley f07d0a14bf rename repo_summary to summary to match other variables 2023-01-15 21:50:56 +01:00
Trevor Bentley 88e76d788c add a basic default dark theme 2023-01-15 17:50:33 +01:00
Trevor Bentley dc594853d2 give footer a backlink 2023-01-15 03:58:18 +01:00
Trevor Bentley 88b7524b4a switch default pages to index.html 2023-01-15 03:21:22 +01:00
Trevor Bentley 490b6ad008 add sensible defaults to config.toml 2023-01-15 03:07:53 +01:00
Trevor Bentley 276b8a01e7 add option to link directly to readme 2023-01-15 00:39:11 +01:00
Trevor Bentley 5191a96b14 add configurable git clone URL 2023-01-14 20:58:39 +01:00
Trevor Bentley 6d301831b9 config options and behavior tweaks to support large repositories 2023-01-14 19:52:11 +01:00
Trevor Bentley cfc589e3b2 make parsed branch configurable 2023-01-13 17:29:00 +01:00
Trevor Bentley 0966bb534f add a files output template 2023-01-13 04:37:40 +01:00
Trevor Bentley 273d62c645 support paginated history, branches, tags 2023-01-12 20:19:48 +01:00
Trevor Bentley c60b1d26a0 change recommended clone path to clone_repos/ 2023-01-12 17:50:21 +01:00
Trevor Bentley 87f6ce398d change recommended output dir to rendered/ 2023-01-12 17:48:33 +01:00
Trevor Bentley 871ff0a30e added proper default config file 2023-01-12 03:00:35 +01:00