v1.3.1; changed output; added docs
This commit is contained in:
parent
7b97d0be45
commit
05497c5be2
@ -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.
|
||||||
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user