aboutsummaryrefslogtreecommitdiff
path: root/git/git-s
diff options
context:
space:
mode:
authorJohn Ankarström <john@ankarstrom.se>2021-07-12 13:24:49 +0200
committerJohn Ankarström <john@ankarstrom.se>2021-07-12 13:27:07 +0200
commit03d827e2fbc409ef97829f25b8eeca5204f81a3c (patch)
tree6099f0feb9adf3425fba87549b164043e18bd0c7 /git/git-s
parent45cddd072119c5abd7ec076cf28d51ee01f125b7 (diff)
downloadxutil-03d827e2fbc409ef97829f25b8eeca5204f81a3c.tar.gz
Re-organize files
Diffstat (limited to 'git/git-s')
-rwxr-xr-xgit/git-s20
1 files changed, 20 insertions, 0 deletions
diff --git a/git/git-s b/git/git-s
new file mode 100755
index 0000000..faf55ff
--- /dev/null
+++ b/git/git-s
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+# git-s -- selection-friendly git-status
+
+git status -s | perl -ne '
+ push @{$x{$1}}, $2 if /^(.). (.*)/;
+ push @{$y{$1}}, $2 if /^.(.) (.*)/;
+ END {
+ delete $x{"?"}; delete $x{" "}; delete $y{" "};
+ for (["index" => \%x], ["tree" => \%y]) {
+ ($n, $h) = @$_;
+ print "$n:" if values %$h;
+ for (sort keys %$h) {
+ print " $_ ";
+ print " $_" for @{$h->{$_}};
+ print "\n";
+ }
+ }
+ }
+'