author | Linus Torvalds <torvalds@g5.osdl.org> | |
Sun, 24 Jul 2005 01:52:22 +0000 (18:52 -0700) | ||
committer | Linus Torvalds <torvalds@g5.osdl.org> | |
Sun, 24 Jul 2005 01:52:22 +0000 (18:52 -0700) | ||
commit | 399144f21c1b3bcd4c9dadd4f534118475de840d | |
tree | b8a2ac7f44f605bb446a2cf67a6604417b83c120 | tree | snapshot |
parent | fd1fcd9f57406cd5f278adb6b3ceeb1b7637062a | commit | diff |
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..
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 | diff | blob | history | |
git-rename-script | [new file with mode: 0755] | blob |