summaryrefslogtreecommitdiff
path: root/bin/231commit
diff options
context:
space:
mode:
authorivan <ivan>2011-07-21 17:53:55 +0000
committerivan <ivan>2011-07-21 17:53:55 +0000
commit4f5d50c6a24ff8a96c0bf25d67571c4142cbea8c (patch)
treeef6be9f465d3daea09893c477d7e0cae0b3f8d59 /bin/231commit
parenta07658a484990b848a88bbfe0c3251e11f3f593d (diff)
2.3 branch
Diffstat (limited to 'bin/231commit')
-rwxr-xr-xbin/231commit29
1 files changed, 29 insertions, 0 deletions
diff --git a/bin/231commit b/bin/231commit
new file mode 100755
index 0000000..9a87d88
--- /dev/null
+++ b/bin/231commit
@@ -0,0 +1,29 @@
+#!/usr/bin/perl
+
+# usage: 231commit '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/freeside2.3/$prefix; cvs update @ARGV ) && ",
+ "( cd /home/$USER/freeside2.1/$prefix; cvs update @ARGV ) && ",
+ "cvs diff -u @ARGV | ( cd /home/$USER/freeside2.3/$prefix; patch -p0 ) ",
+ " && cvs diff -u @ARGV | ( cd /home/$USER/freeside2.1/$prefix; patch -p0 ) ",
+ " && ( ( cvs commit -m $desc @ARGV & ); ",
+ "( sleep 1;cd /home/$USER/freeside2.3/$prefix; cvs commit -m $desc @ARGV & ) ); "
+ "( sleep 1;cd /home/$USER/freeside2.1/$prefix; cvs commit -m $desc @ARGV & ) )"
+);
+