#!/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.