diff --git a/scripts/rebase.fish b/scripts/rebase.fish new file mode 100644 index 00000000..de21658b --- /dev/null +++ b/scripts/rebase.fish @@ -0,0 +1,29 @@ +git fetch --tags + +for x in (seq 1000) + set n (math $x + 1) + if not git checkout post_$n 2> /dev/null + if git checkout post_{$x}_new 2> /dev/null + git tag -f post_$x post_{$x}_new + git tag -d post_{$x}_new + git push origin post_$x --force + end + break + end + + if git checkout post_{$x}_new 2> /dev/null + echo \nrebasing post_$n on top of post_{$x}_new\n-------------------------------------- + if git checkout post_{$n}_new 2> /dev/null + echo Error: Multiple post_n_new tags! + exit 1 + end + if not git rebase --onto post_{$x}_new post_$x post_$n + exit 1 + end + + git tag post_{$n}_new HEAD + git tag -f post_$x post_{$x}_new + git tag -d post_{$x}_new + git push origin post_$x --force + end +end