Skip to content
This repository
tree: 435ada9e8d
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

executable file 26 lines (22 sloc) 0.847 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#!/usr/bin/perl
#
# Still fails when files may contain spaces
#
# Run the editor on all the files that have been modified from the
# current index. Useful to resume work when you left the working tree
# dirty. Useful following a "git reset HEAD^" to continue work on the
# stuff you were working on before. Useful following a failed merge.
#

chomp(my @changed = grep !/^\?\? /, qx{git status --porcelain});
exit 1 unless $? == 0;
s/^.. // or die "<$_>???\n" for @changed;
die "Fucking shell, how does it work?\n"
    if grep / /, @changed;

@changed = qw(.) unless @changed;
chomp(my @lines = qx{find @changed -type f });
exit 1 unless $? == 0;

# maybe should use output of "git var GIT_EDITOR" here?
# But then I have to involve the !@&*!@*(&!@ shell
my $ed = $ENV{VISUAL} || $ENV{EDITOR} || "emacs";
exec $ed, @lines;
die "exec $ed: $!\n";
Something went wrong with that request. Please try again.