diff options
Diffstat (limited to 'Tools/qt/make-snapshot.pl')
-rwxr-xr-x | Tools/qt/make-snapshot.pl | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Tools/qt/make-snapshot.pl b/Tools/qt/make-snapshot.pl new file mode 100755 index 000000000..27c5621d6 --- /dev/null +++ b/Tools/qt/make-snapshot.pl @@ -0,0 +1,40 @@ +#!/usr/bin/env perl + +use Cwd; +use File::Basename; +use strict; +use warnings; + +sub usage { + my $msg = shift || ""; + die $msg . "Usage: cd target/repo/path; $0 src/repo/path"; +} + +scalar @ARGV == 0 || usage(); +-f "ChangeLog" && die "This script must be run in snapshots repository"; +-d ".git" || usage(); + +`git status` =~ "nothing to commit, working tree clean" or die "Target working tree is dirty"; + +my $src_repo = dirname(dirname(dirname(__FILE__))); +my $target_repo = getcwd(); + +chdir $src_repo; +(-f "ChangeLog" && -x "Tools/gtk/make-dist.py") or usage("Target repository path is invalid!\n"); +my $commit = `git rev-parse HEAD` or usage("Cannot get HEAD revision in target repo!\n"); +chomp $commit; + +my @commands = ( + "Tools/gtk/make-dist.py -t snapshot Tools/qt/manifest.txt", + "cd $target_repo", + "git rm -rf *", + "tar -xf $src_repo/snapshot.tar --strip-components=1", + "git add -A", + "rm $src_repo/snapshot.tar", + "git commit -m 'Imported WebKit commit $commit'" +); + +my $cmd = join " && ", @commands; +print "Executing $cmd\n"; + +exec $cmd; |