diff options
Diffstat (limited to 'git-rename-script')
-rwxr-xr-x | git-rename-script | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/git-rename-script b/git-rename-script deleted file mode 100755 index b4d3148083..0000000000 --- a/git-rename-script +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/perl -# -# Copyright 2005, Ryan Anderson <ryan@michonline.com> -# -# This file is licensed under the GPL v2, or a later version -# at the discretion of Linus Torvalds. - - -use warnings; -use strict; - -sub usage($); - -# Sanity checks: -my $GIT_DIR = $ENV{'GIT_DIR'} || ".git"; - -unless ( -d $GIT_DIR && -d $GIT_DIR . "/objects" && - -d $GIT_DIR . "/objects/00" && -d $GIT_DIR . "/refs") { - usage("Git repository not found."); -} - -usage("") if scalar @ARGV != 2; - -my ($src,$dst) = @ARGV; - -unless (-f $src || -l $src || -d $src) { - usage("git rename: bad source '$src'"); -} - -if (-e $dst) { - usage("git rename: destinations '$dst' already exists"); -} - -my (@allfiles,@srcfiles,@dstfiles); - -$/ = "\0"; -open(F,"-|","git-ls-files","-z") - or die "Failed to open pipe from git-ls-files: " . $!; - -@allfiles = map { chomp; $_; } <F>; -close(F); - -my $safesrc = quotemeta($src); -@srcfiles = grep /^$safesrc/, @allfiles; -@dstfiles = @srcfiles; -s#^$safesrc(/|$)#$dst$1# for @dstfiles; - -rename($src,$dst) - or die "rename failed: $!"; - -my $rc = system("git-update-cache","--add","--",@dstfiles); -die "git-update-cache failed to add new name with code $?\n" if $rc; - -$rc = system("git-update-cache","--remove","--",@srcfiles); -die "git-update-cache failed to remove old name with code $?\n" if $rc; - - -sub usage($) { - my $s = shift; - print $s, "\n" if (length $s != 0); - print <<EOT; -$0 <source> <dest> -source must exist and be either a file, symlink or directory. -dest must NOT exist. - -Renames source to dest, and updates the git cache to reflect the change. -Use "git commit" to make record the change permanently. -EOT - exit(1); -} |