Skip to content

Commit

Permalink
Add a "git rename" to help with - surprise surprise - renames
Browse files Browse the repository at this point in the history
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..
  • Loading branch information
Linus Torvalds committed Jul 24, 2005
1 parent fd1fcd9 commit 399144f
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ SCRIPTS=git git-apply-patch-script git-merge-one-file-script git-prune-script \
gitk git-cherry git-rebase-script git-relink-script git-repack-script \
git-format-patch-script git-sh-setup-script git-push-script \
git-branch-script git-parse-remote git-verify-tag-script \
git-ls-remote-script git-clone-dumb-http
git-ls-remote-script git-clone-dumb-http git-rename-script

PROG= git-update-cache git-diff-files git-init-db git-write-tree \
git-read-tree git-commit-tree git-cat-file git-fsck-cache \
Expand Down
7 changes: 7 additions & 0 deletions git-rename-script
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/sh

. git-sh-setup-script || die "Not a git archive"

[ -f "$1" ] || [ -h "$1" ] || die "git rename: bad source"
[ -e "$2" ] && die "git rename: destination already exists"
mv -- "$1" "$2" && git-update-cache --add --remove -- "$1" "$2"

0 comments on commit 399144f

Please sign in to comment.