diff options
-rw-r--r-- | mirror.1 | 2 | ||||
-rw-r--r-- | mirror.5 | 2 | ||||
-rwxr-xr-x | version | 14 |
3 files changed, 10 insertions, 8 deletions
@@ -1,4 +1,4 @@ -.TH mirror 1 "2023-12-01" +.TH mirror 1 "2024-01-01" .SH NAME mirror \- copies remote git repositories in bulk .SH SYNOPSIS @@ -1,4 +1,4 @@ -.TH mirror 5 "2023-12-01" +.TH mirror 5 "2024-01-01" .SH NAME mirror \- file format for listing sources for git repository mirrors .SH SYNTAX @@ -15,13 +15,15 @@ try_tag() { if ! version=$(try_tag); then fmt=%Y%m%d - set -- $(git rev-list --date=format:${fmt} --pretty=%ad --no-commit-header --since=yesterday HEAD) - if [ $# -gt 0 ]; then - suffix=$# - git diff-index --quiet HEAD -- || suffix=$(( $# + 1 )) - version="$1.${suffix}" + if git diff-index --quiet HEAD --; then + latest="$(git rev-list -1 --date=format:${fmt} --pretty=%ad --no-commit-header HEAD)" + modified=0 else - version="$(date +${fmt}).1" + latest="$(date +${fmt})" + modified=1 fi + count=$(git rev-list --date=format:${fmt} --pretty=%ad --no-commit-header HEAD | sed -n /${latest}/p | wc -l) + count=$(( ${count} + ${modified} )) + version="${latest}.${count}" fi echo "${version}" |