aboutsummaryrefslogtreecommitdiff
path: root/scripts/gitinfo.bash
blob: 01a13b6d6cf37c8eb6781a11a899fe3afde63542 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#/bin/bash

for repository in /repositories/*; do
  cd /repositories/$(basename "$repository")
  gitinfo=$(git cat-file -p @:.gitinfo 2>&1)

  # does gitinfo exist? expect "fatal" if not
  if [[ $gitinfo == fatal* ]]; then
    echo "No .gitinfo found for $(basename "$repository"). Blanking description."
    echo "" > /repositories/$(basename "$repository")/description
    continue
  fi

  # extract description from gitinfo (json format)
  description=$(echo "$gitinfo" | grep -oP '"description":\s*"\K[^"]+')

  # write description to repository description file
  echo "$description" > /repositories/$(basename "$repository")/description
done