Home | History | Annotate | Download | only in Scripts
      1 #!/usr/bin/env python
      2 
      3 # Copyright 2012 Google, Inc. All rights reserved.
      4 #
      5 # Redistribution and use in source and binary forms, with or without
      6 # modification, are permitted provided that the following conditions
      7 # are met:
      8 # 1. Redistributions of source code must retain the above copyright
      9 #    notice, this list of conditions and the following disclaimer.
     10 # 2. Redistributions in binary form must reproduce the above copyright
     11 #    notice, this list of conditions and the following disclaimer in the
     12 #    documentation and/or other materials provided with the distribution.
     13 #
     14 # THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``AS IS'' AND ANY
     15 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     16 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     17 # PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
     18 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     19 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     20 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     21 # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     22 # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     23 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     24 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     25 
     26 # This script is intended to support the GitHub workflow described here:
     27 # https://trac.webkit.org/wiki/UsingGitHub
     28 #
     29 # This script fetches the latest changes from upstream, and pushes those
     30 # changes to the master branch in origin (e.g., your GitHub fork of WebKit).
     31 #
     32 # Running this script periodically will keep your fork of WebKit on GitHub in
     33 # sync with the "root" WebKit repository in upstream, assuming you've run
     34 # configure-github-as-upstream
     35 
     36 import subprocess
     37 
     38 def run(args, error_message = None):
     39     if subprocess.call(args) != 0:
     40         if error_message:
     41             print error_message
     42         exit(1)
     43 
     44 run(["git", "fetch", "upstream"], "Have you run configure-github-as-upstream to configure an upstream repository?")
     45 run(["git", "push", "origin", "upstream/master:master"])
     46 print "\nConsider running 'git merge origin' to update your local branches."
     47