From 83945869b059e5fe5ca61a8715dc05939dc0e277 Mon Sep 17 00:00:00 2001
From: crystal <crystal@noreply.codeberg.org>
Date: Tue, 19 Nov 2024 03:29:52 -0700
Subject: [PATCH] [squash] Add automatic pull requests script

---
 .auto-pr.sh | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100755 .auto-pr.sh

diff --git a/.auto-pr.sh b/.auto-pr.sh
new file mode 100755
index 0000000..b8c564c
--- /dev/null
+++ b/.auto-pr.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+# Automatic pull request script
+
+FORGEJO_VERSION_PREFIX="v7.0."
+AUTO_PR_BRANCH="main"
+
+cd $(dirname $0)
+git fetch
+git checkout $AUTO_PR_BRANCH
+git reset --hard origin/$AUTO_PR_BRANCH
+git submodule update
+cd forgejo
+git reset --hard
+git fetch
+FORGEJO_LATEST=$(git tag --sort=committerdate | grep ^$FORGEJO_VERSION_PREFIX | tail -n1)
+FORGEJO_CURRENT=$(git describe --tags HEAD)
+FORGEJO_NOV=${FORGEJO_LATEST/v/}
+CHANGELOG_ADDITION="forgejo ($FORGEJO_NOV-1) unstable; urgency=medium
+
+  * Forgejo version $FORGEJO_NOV
+  * See https://codeberg.org/forgejo/forgejo/src/branch/forgejo/RELEASE-NOTES.md#${FORGEJO_NOV//./-}
+
+ -- $(whoami) <$(whoami)@noreply.codeberg.org>  $(date --utc "+%a, %d %b %Y %H:%M:%S %z")
+"
+echo "$CHANGELOG_ADDITION"
+cd ..
+if [ "$FORGEJO_LATEST" != "$FORGEJO_CURRENT" ];then
+	if [ "$(git branch | grep autopr-$FORGEJO_LATEST)" ] ; then
+	       echo "Oops! Pr branch already exists, not creating a duplicate pull request..."
+	       exit 99
+	fi
+	git branch autopr-$FORGEJO_LATEST
+	git checkout autopr-$FORGEJO_LATEST
+	cd forgejo
+	git checkout "$FORGEJO_LATEST"
+	cd ..
+	echo "$CHANGELOG_ADDITION" > deb/debian/changelog-prepend
+	cat deb/debian/changelog >> deb/debian/changelog-prepend
+	mv deb/debian/changelog-prepend deb/debian/changelog
+	git add .
+	git commit -m "Forgejo $FORGEJO_LATEST"
+	git push origin HEAD:refs/for/$AUTO_PR_BRANCH/autopr-$FORGEJO_LATEST -o description="_auto-generated pull request_" # -o force-push=true
+fi