Add a "git rename" to help with - surprise surprise - renames
authorLinus Torvalds <torvalds@g5.osdl.org>
Sun, 24 Jul 2005 01:52:22 +0000 (18:52 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sun, 24 Jul 2005 01:52:22 +0000 (18:52 -0700)
commit399144f21c1b3bcd4c9dadd4f534118475de840d
treeb8a2ac7f44f605bb446a2cf67a6604417b83c120
parentfd1fcd9f57406cd5f278adb6b3ceeb1b7637062a
Add a "git rename" to help with - surprise surprise - renames

It's stupid.  We'd want to rename directories too, but this doesn't do
that yet - easy enough to do per se, we just need to carefully list all
the pathnames that got moved (and remember to ignore the files that
weren't tracked but are in the subdirectory that got moved).

Doing the directory case will require a bit more scripting.. Something like

oldfiles=($(git-ls-files | grep '^$src'))
newfiles=($(git-ls-files | sed ':^$src: s:^$src:$dst:'))
mv $src $dst && git-update-cache --add --remove -- "${oldfiles[@]}" "${newfiles[@]}"

might do it, except it needs to be done right, and carefully.  Methinks
perl is probably better at this. Hint hint..
Makefile
git-rename-script [new file with mode: 0755]