v1.3.1; changed output; added docs

This commit is contained in:
Benjamin Winter 2024-03-04 15:43:23 +01:00
parent 7b97d0be45
commit 05497c5be2
2 changed files with 22 additions and 25 deletions

View File

@ -15,6 +15,10 @@ Migrate assignments for Gitea-Issues after a Gitea2Gitea-Migration.
1. migrate your repository from your OLD Gitea instance to your NEW one 1. migrate your repository from your OLD Gitea instance to your NEW one
2. use this script to migrate the assignments 2. use this script to migrate the assignments
## Design Decisions
- the title is not fetched due to complications with tea and "quotes"
- the script places a comment and mentiones the creator of the issue to inform that person of the new location of the issue
## For mor information ## For mor information
…[read the script](migrate_assignments.sh) or read the help-page. …[read the script](migrate_assignments.sh) or read the help-page.

View File

@ -11,7 +11,7 @@ set -eu
readonly PROGNAME=`/usr/bin/basename $0` readonly PROGNAME=`/usr/bin/basename $0`
readonly PROGPATH=`echo $0 | sed -e 's,[\\/][^\\/][^\\/]*$,,'` readonly PROGPATH=`echo $0 | sed -e 's,[\\/][^\\/][^\\/]*$,,'`
readonly REVISION="1.3.0" readonly REVISION="1.3.1"
repo="" repo=""
login_old="" login_old=""
@ -46,7 +46,6 @@ INFORMATION
- issue-ids are checked; titles are not checked - issue-ids are checked; titles are not checked
- assignments in new repo are checked - assignments in new repo are checked
- the --wait time slows down the script to reduce e-mail-sending-speed - the --wait time slows down the script to reduce e-mail-sending-speed
- the title is not fetched due to complications with tea and "quotes"
- Troubleshooting - Troubleshooting
- "Error: could not edit issue:" - "Error: could not edit issue:"
- please check, if the assigned person(s) have the right to be assigned (are they in the Organisation? Collaborators?) - please check, if the assigned person(s) have the right to be assigned (are they in the Organisation? Collaborators?)
@ -70,15 +69,15 @@ INSTALLATION AND PREPARATION
USAGE USAGE
SWITCHES SWITCHES
-h | --help print this help -h | --help print this help
-c | --colour disable colour output -c | --colour | --color disable colour output
--GO stop dry mode --GO stop dry mode
PARAMETERS PARAMETERS
-r | --repo required, i.e. "my_organisation/my_repository" -r | --repo required, i.e. "my_organisation/my_repository"
-o | --login_old required, tea-id of your old login -o | --login_old required, tea-id of your old login
-n | --login_new required, tea-id of your new login -n | --login_new required, tea-id of your new login
-w | --wait wait time in s between issue handling (default 0.25) -w | --wait wait time in s between issue handling (default 0.25)
EOF EOF
} }
@ -99,7 +98,7 @@ checkCommand()
# PARAMETERS # PARAMETERS
# #
if [[ "$@" == "" ]] ; then error_in_or_out_not_specified ; fi if [[ "$@" == "" ]] ; then error_in_or_out_not_specified ; fi
readonly TEMP=$(getopt -o h,r:o:n:w:c --long help,GO,colour,repo:,login_old:,login_new:,wait: -n "${PROGNAME}" -- "$@") readonly TEMP=$(getopt -o h,r:o:n:w:c --long help,GO,colour,color,repo:,login_old:,login_new:,wait: -n "${PROGNAME}" -- "$@")
eval set -- "${TEMP}" eval set -- "${TEMP}"
while true ; do while true ; do
case "$1" in case "$1" in
@ -107,7 +106,7 @@ while true ; do
print_help print_help
exit 0 exit 0
;; ;;
--colour|-c) --colour|--color|-c)
use_colour=false use_colour=false
;; ;;
--repo|-r) --repo|-r)
@ -185,7 +184,7 @@ echo "# processing data"
while IFS="¬"; read -r index author assignees; do while IFS="¬"; read -r index author assignees; do
assignees=$(echo "$assignees" | tr ' ' ,) assignees=$(echo "$assignees" | tr ' ' ,)
echo "… #$index - by \"$author\" assigned to \"$assignees\"" echo -n "… #$index - by \"$author\" assigned to \"$assignees\""
# comment for the original author # comment for the original author
if [ $dry_run = false ]; then if [ $dry_run = false ]; then
@ -193,24 +192,18 @@ while IFS="¬"; read -r index author assignees; do
fi fi
# assignment # assignment
t="OK"
if [[ -n $assignees ]]; then if [[ -n $assignees ]]; then
if [ $dry_run = false ]; then if [ $dry_run = false ]; then
tea issue edit --login "$login_new" --repo "$repo" --add-assignees "$assignees" "$index" >/dev/null tea issue edit --login "$login_new" --repo "$repo" --add-assignees "$assignees" "$index" >/dev/null
fi fi
t="OK"
if [ $use_colour = true ]; then
echo -e " → \e[1m\e[48;5;22m$t\e[0m"
else
echo "$t"
fi
else else
t="INFO: added comment, no assignee" t="OK (no assignee)"
if [ $use_colour = true ]; then fi
echo -e " → \e[1m\e[48;5;172m$t\e[0m" if [ $use_colour = true ]; then
else echo -e " → \e[1m\e[48;5;22m$t\e[0m"
echo -e "$t" else
fi echo "$t"
fi fi
sleep $wait_time sleep $wait_time