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

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

  # does gitinfo exist? expect "fatal" if not
  if [[ $gitinfo == fatal* ]]; then
    echo "No .gitinfo found for $(basename "$repository")"
    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