git_index

Generates arguments to pass to stagit-index in descending order by commit date.
git clone https://git.philomathiclife.com/repos/git_index
Log | Files | Refs | README

README.md (2547B)


      1 # git_index
      2 
      3 `git_index` invokes [`stagit-index`](https://codemadness.org/stagit.html) by passing in `git` repos in descending
      4 order by commit date. The absolute path to the parent directory containing `git` repos is passed via `-d`/`--dir`.
      5 
      6 ## Minimum Supported Rust Version (MSRV)
      7 
      8 This will frequently be updated to be the same as stable. Specifically, any time stable is updated and that
      9 update has "useful" features or compilation no longer succeeds (e.g., due to new compiler lints), then MSRV
     10 will be updated.
     11 
     12 MSRV changes will correspond to a SemVer patch version bump pre-`1.0.0`; otherwise a minor version bump.
     13 
     14 ## SemVer Policy
     15 
     16 * All on-by-default features of this library are covered by SemVer
     17 * MSRV is considered exempt from SemVer as noted above
     18 
     19 ## License
     20 
     21 Licensed under either of
     22 
     23 * Apache License, Version 2.0 ([LICENSE-APACHE](https://www.apache.org/licenses/LICENSE-2.0))
     24 * MIT license ([LICENSE-MIT](https://opensource.org/licenses/MIT))
     25 
     26 at your option.
     27 
     28 ## Contribution
     29 
     30 Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you,
     31 as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
     32 
     33 Before any PR is sent, `cargo clippy --all-targets` and `cargo test --all-targets` should be run using the stable
     34 and MSRV toolchains. One easy way to achieve this is by invoking [`ci-cargo`](https://crates.io/crates/ci-cargo)
     35 as `ci-cargo clippy --all-targets test --benches --bins --examples --tests --include-ignored` in the `git_index`
     36 directory.
     37 
     38 Last, `cargo +nightly doc` should be run to ensure documentation can be built.
     39 
     40 ### Status
     41 
     42 This package is self-serving. I host `git.philomathiclife.com` which serves my `git` repos in addition to an HTTPS
     43 front-end via [`httpd`](https://man.openbsd.org/OpenBSD-7.6/amd64/httpd.8) on OpenBSD-stable. The static HTML files
     44 are created with `stagit`, and the index file is created by `stagit-index`. `stagit-index` requires one to pass
     45 the directories via arguments. The order of the arguments dictates the order of the resulting entries in
     46 `index.html`. This program simply extracts the most recent commit from each repo via `git log` and writes the
     47 paths of the repos in descending order of commit date to `stdout`. One can use command substitution to pass this to
     48 `stagit-index`. There are several assumptions made in this program like `/usr/local/bin/git` exists and is
     49 the path to `git`, and every child directory of the passed directory is a valid `git` repo.