summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xPorting/git-find-p4-change20
1 files changed, 20 insertions, 0 deletions
diff --git a/Porting/git-find-p4-change b/Porting/git-find-p4-change
new file mode 100755
index 0000000000..b77795355f
--- /dev/null
+++ b/Porting/git-find-p4-change
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+
+die "usage: $0 [git-log-options] num" unless @ARGV;
+
+my $num = 1;
+
+for (@ARGV) {
+ m{^\d+$} && (($change,$_) = ($_,undef));
+ m{^-\d+$} && (($num,$_) = (-$_,undef));
+}
+
+my $grep = "--grep=^p4raw-id:.*\@$change\$";
+@ARGV = grep { defined } @ARGV;
+
+if ( -t STDOUT or @ARGV ) {
+ system(qw(git log), $grep, "-$num", "--all", @ARGV);
+}
+else {
+ system(qw(git rev-list -1 --all), $grep);
+}