about summary refs log tree commit diff
path: root/pkgs/tools/admin/azure-cli/commit-update-hunks.sh
blob: 7a9d913e260e7b24f28f9e2d9c9aef04d1f85d67 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/env bash

# Just a tiny imperfect helper script to commit generated updates.
#
# First, ensure that that `git add -p extensions-generated.nix` only
# returns a series of clean update hunks, where each hunk updates a
# single package version. All additions/removals must be committed
# by hand.
# The script will then commit the remaining hunks with fitting commit messages.

while true; do
  echo -e "y\nq" | git add -p extensions-generated.nix || break
  pname=$(git diff --no-ext-diff --cached | grep "pname =" | cut -d'"' -f2 | head -n1) || break
  versions=$(git diff --no-ext-diff --cached | grep "version =" | cut -d'"' -f2) || break
  oldver=$(echo "$versions" | head -n1) || break
  newver=$(echo "$versions" | tail -n1) || break
  commitmsg="azure-cli-extensions.${pname}: ${oldver} -> ${newver}"
  git commit -m "$commitmsg"
done