66 lines
1.1 KiB
Plaintext
66 lines
1.1 KiB
Plaintext
|
#!/bin/bash
|
|||
|
# Helper to change the numerical prefixes across the repo, say if you want to
|
|||
|
# create room between 023 and 024, and so on.
|
|||
|
#
|
|||
|
# Assumes there's only ever one file with any numeric prefix. If you move
|
|||
|
# 003trace.test.cc you might need to do some manual patch-up.
|
|||
|
|
|||
|
set -e
|
|||
|
|
|||
|
if [[ $# -eq 0 && `git diff HEAD |wc -l` -gt 0 ]]
|
|||
|
then
|
|||
|
echo "Uncommitted changes"
|
|||
|
exit
|
|||
|
fi
|
|||
|
|
|||
|
if [[ $# -gt 0 ]] # dry run
|
|||
|
then
|
|||
|
git() {
|
|||
|
echo $*
|
|||
|
}
|
|||
|
fi
|
|||
|
|
|||
|
#
|
|||
|
|
|||
|
index=0
|
|||
|
ls [0-9]* |grep -v "trace.test" |sort -n |
|
|||
|
while read file
|
|||
|
do
|
|||
|
while [[ $file != `printf "%03d" $index`* ]]
|
|||
|
do
|
|||
|
echo
|
|||
|
index=$(($index+1))
|
|||
|
done
|
|||
|
echo $file
|
|||
|
index=$(($index+1))
|
|||
|
done > .layout
|
|||
|
|
|||
|
vim -c "set nu" .layout
|
|||
|
|
|||
|
#
|
|||
|
|
|||
|
root() {
|
|||
|
echo $1 |sed 's/^[0-9]*//'
|
|||
|
}
|
|||
|
|
|||
|
index=0
|
|||
|
cat .layout |
|
|||
|
while read file
|
|||
|
do
|
|||
|
if [ ! -z $file ]
|
|||
|
then
|
|||
|
newfile=`printf "%03d" $index``root $file`
|
|||
|
if [[ $newfile != $file ]]
|
|||
|
then
|
|||
|
echo git mv $file $newfile
|
|||
|
git mv $file $newfile
|
|||
|
fi
|
|||
|
fi
|
|||
|
index=$(($index+1))
|
|||
|
done
|
|||
|
|
|||
|
rm .layout
|
|||
|
|
|||
|
# Scenarios considered:
|
|||
|
# Don't redo the layout if Vim exits with error.
|