From f0c21ab3f74127c8614500d6f8aa9cf7ccb36842 Mon Sep 17 00:00:00 2001 From: Nicolas Pierron Date: Wed, 17 Dec 2014 00:44:58 +0000 Subject: [PATCH] Add a script to add git branches for each channel. --- maintainers/scripts/update-channel-branches.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100755 maintainers/scripts/update-channel-branches.sh diff --git a/maintainers/scripts/update-channel-branches.sh b/maintainers/scripts/update-channel-branches.sh new file mode 100755 index 00000000000..0157fe1db10 --- /dev/null +++ b/maintainers/scripts/update-channel-branches.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +: ${NIXOS_CHANNELS:=https://nixos.org/channels/} + +# Find the name of all channels which are listed in the directory. +for channelName in : $(curl -s $NIXOS_CHANNELS | sed -n '/folder/ { s,.*href=",,; s,/".*,,; p }'); do + test "$channelName" = : && continue; + + # Do not follow redirections, such that we can extract the + # short-changeset from the name of the directory where we are + # redirected to. + sha1=$(curl -s --max-redirs 0 $NIXOS_CHANNELS$channelName | sed -n '/has moved/ { s,.*\.\([a-z0-9A-Z]*\)".*,\1,; p; }') + test -z "$sha1" -o -z "$channelName" && continue; + + # Update the local channels/* branches to be in-sync with the + # channel references. + git update-ref refs/heads/channels/$channelName $sha1 +done