summaryrefslogtreecommitdiff
path: root/bin/32commit
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2013-07-02 21:11:29 -0700
committerIvan Kohler <ivan@freeside.biz>2013-07-02 21:11:29 -0700
commit3d0a1bb06b895c5be6e3f0517d355442a6b1e125 (patch)
tree84069ebc3254825b952a482e11cdbbbc69f6fe85 /bin/32commit
parentf3b99c11d6eed33f467dda360180a698a85c54e8 (diff)
parentd62206a94d9d49ef96640e0a8ec492679f8345e9 (diff)
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Diffstat (limited to 'bin/32commit')
-rwxr-xr-xbin/32commit29
1 files changed, 29 insertions, 0 deletions
diff --git a/bin/32commit b/bin/32commit
new file mode 100755
index 000000000..903722e4e
--- /dev/null
+++ b/bin/32commit
@@ -0,0 +1,29 @@
+#!/usr/bin/perl
+
+# usage: 32commit 'log message' filename filename ...
+
+use Cwd;
+use String::ShellQuote;
+
+my $USER = $ENV{USER};
+
+my $dir = getcwd;
+( my $prefix = $dir ) =~ s(^/home/$USER/freeside/?)() or die $dir; #eventually from anywhere
+
+my $desc = shell_quote(shift @ARGV); # -m
+
+die "no files!" unless @ARGV;
+
+#warn "$prefix";
+
+#print <<END;
+system join('',
+ "( cd /home/$USER/freeside3/$prefix; git pull ) && ",
+ "( cd /home/$USER/freeside2.3/$prefix; git pull ) && ",
+ "git diff -u @ARGV | ( cd /home/$USER/freeside3/$prefix; patch -p1 ) ",
+ " && git diff -u @ARGV | ( cd /home/$USER/freeside2.3/$prefix; patch -p1 ) ",
+ " && ( ( git pull && git commit -m $desc @ARGV && git push); ",
+ "( cd /home/$USER/freeside3/$prefix; git commit -m $desc @ARGV && git push); ",
+ "( cd /home/$USER/freeside2.3/$prefix; git commit -m $desc @ARGV && git push) )"
+);
+