| Index: git-lkgr
|
| diff --git a/git-lkgr b/git-lkgr
|
| deleted file mode 100755
|
| index c6a222ddbafbcdd6e3037cfb6f95dbe299398654..0000000000000000000000000000000000000000
|
| --- a/git-lkgr
|
| +++ /dev/null
|
| @@ -1,208 +0,0 @@
|
| -#!/usr/bin/env bash
|
| -
|
| -# Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -# Use of this source code is governed by a BSD-style license that can be
|
| -# found in the LICENSE file.
|
| -
|
| -branch_name=""
|
| -checkout_branch=no
|
| -create_branch=no
|
| -quiet=no
|
| -svn_lkgr=
|
| -
|
| -while [ $# -gt 0 ]; do
|
| - case "$1" in
|
| - --checkout|--force-branch)
|
| - checkout_branch=yes
|
| - create_branch=yes
|
| - ;;
|
| - --closest)
|
| - use_closest=yes
|
| - ;;
|
| - --create)
|
| - create_branch=yes
|
| - ;;
|
| - -n|--name)
|
| - branch_name=$2
|
| - create_branch=yes
|
| - shift
|
| - ;;
|
| - -q|--quiet)
|
| - quiet=yes
|
| - ;;
|
| - -r|--revision)
|
| - svn_lkgr="$2"
|
| - shift
|
| - ;;
|
| - *)
|
| - echo "Unknown option: $1"
|
| - echo "Usage:"
|
| - echo " --checkout Create a branch and check it out."
|
| - echo " --create Create a branch."
|
| - echo " --closest Use closest git commit to the target svn revision."
|
| - echo " Otherwise --checkout may be required to create"
|
| - echo " a git commit for a specific svn revision."
|
| - echo " -n, --name <name> Specify the name of branch to create or reset."
|
| - echo " This will force the branch using 'git branch -f '."
|
| - echo " -q, --quiet Quiet."
|
| - echo " -r, --revision <r> Svn revision number use instead of server provided lkgr."
|
| - exit 1
|
| - ;;
|
| - esac
|
| - shift
|
| -done
|
| -
|
| -if [ -z "$svn_lkgr" ]; then
|
| - svn_lkgr=`curl -s http://chromium-status.appspot.com/lkgr`
|
| - if [ $? != 0 -o -z "$svn_lkgr" ]; then
|
| - echo 'Could not get svn lkgr from chromium-status.appspot.com/lkgr'
|
| - exit 1
|
| - fi
|
| -fi
|
| -
|
| -if [ "${svn_lkgr:0:1}" = "r" ]; then
|
| - svn_lkgr="${svn_lkgr:1}"
|
| -fi
|
| -
|
| -# Run a trivial git-svn command to force it to update the revision cache
|
| -# (which causes spew that might otherwise confuse the next command).
|
| -git svn info > /dev/null
|
| -if [ $? != 0 ]; then
|
| - cat <<EOF 1>&2
|
| -Could not run a trivial git-svn command. You probably need to set up your
|
| -working directory for git-svn, by following these instructions:
|
| -
|
| -http://code.google.com/p/chromium/wiki/UsingNewGit#Initial_checkout
|
| -EOF
|
| - exit 1
|
| -fi
|
| -
|
| -git_lkgr=`git svn find-rev r${svn_lkgr}`
|
| -if [ $? != 0 -o -z "$git_lkgr" ]; then
|
| - cat <<EOF 1>&2
|
| -Could not map svn revision ${svn_lkgr} to a git commit.
|
| -You may need to 'git fetch' and try again.
|
| -EOF
|
| - exit 1
|
| -fi
|
| -
|
| -set -o pipefail
|
| -closest_commit=`git rev-list --ancestry-path \
|
| - --grep='SVN changes up to revision [0-9]*' \
|
| - ${git_lkgr}..refs/remotes/origin/master | tail -1`
|
| -if [ $? != 0 -o -z "$closest_commit" ]; then
|
| - closest_commit=
|
| - closest_svn_commit=
|
| -else
|
| - closest_svn_commit=`git rev-list -n 1 ${closest_commit}^1`
|
| - if [ $? != 0 -o -z "$closest_svn_commit" ]; then
|
| - cat <<EOF 1>&2
|
| - I am thoroughly confused. Please file a bug report at http://new.crbug.com.
|
| -EOF
|
| - exit 1
|
| - fi
|
| - closest_svn=`git svn find-rev ${closest_svn_commit}`
|
| -fi
|
| -
|
| -if [ "${use_closest}" = "yes" ]; then
|
| - svn_lkgr="${closest_svn}"
|
| - git_lkgr="${closest_svn_commit}"
|
| -fi
|
| -
|
| -# Determine lkgr_branch:
|
| -if [ "${branch_name}" != "" ]; then
|
| - # Use the provided name for the branch.
|
| - lkgr_branch="${branch_name}"
|
| -
|
| - # If the branch already exists, force the update to it.
|
| - git rev-parse --verify -q "${branch_name}" >/dev/null
|
| - if [ $? -eq 0 ]; then
|
| - old_branch_value=`git rev-parse "${branch_name}"`
|
| - echo "Will update branch ${lkgr_branch}, it previously was at ${old_branch_value}."
|
| - force_branch="--force"
|
| - fi
|
| -else
|
| - # Pick a name for the new branch. Use `git rev-parse` to make sure the branch
|
| - # doesn't already exist; if it does, iterate an integer suffix to uniquify it.
|
| - lkgr_branch="lkgr_r${svn_lkgr}"
|
| - digit=1
|
| - git rev-parse --verify -q "${lkgr_branch}" >/dev/null
|
| - while [ $? -eq 0 ]; do
|
| - lkgr_branch="lkgr_r${svn_lkgr}_${digit}"
|
| - digit=`expr $digit + 1`
|
| - git rev-parse --verify -q "${lkgr_branch}" >/dev/null
|
| - done
|
| -fi
|
| -
|
| -if [ "${closest_svn_commit}" = "${git_lkgr}" ]; then
|
| - echo "${closest_commit}"
|
| - if [ "$create_branch" = "yes" ]; then
|
| - echo "Creating branch ${lkgr_branch}"
|
| - git branch ${force_branch} "${lkgr_branch}" "${closest_commit}" || exit 1
|
| - fi
|
| - if [ "$checkout_branch" = "yes" ]; then
|
| - git checkout "${lkgr_branch}"
|
| - fi
|
| - exit 0
|
| -elif [ "${quiet}" = "yes" ]; then
|
| - exit 1
|
| -elif [ "${checkout_branch}" = "no" ]; then
|
| - echo "There is no master commit which corresponds exactly to svn revision ${svn_lkgr}."
|
| - echo "Call 'git lkgr --checkout' to create a branch with a commit to match ${svn_lkgr}."
|
| - if [ -n "$closest_commit" ]; then
|
| - echo "The closest commit is r${closest_svn}, ${closest_commit}."
|
| - echo "Use the --closest option to use the closest instead of the target revision."
|
| - fi
|
| - exit 0
|
| -fi
|
| -
|
| -current_head=`git branch | grep '^\*' | cut -c3-`
|
| -if [ "${current_head}" = "(no branch)" ]; then
|
| - current_head=`git rev-parse HEAD`
|
| -fi
|
| -
|
| -git checkout --detach "${git_lkgr}" &&
|
| -python tools/deps2git/deps2git.py -d DEPS -o .DEPS.git -w .. &&
|
| -git add .DEPS.git &&
|
| -python tools/deps2git/deps2submodules.py .DEPS.git &&
|
| -git commit -m "SVN changes up to revision $svn_lkgr" &&
|
| -git branch ${force_branch} "${lkgr_branch}" HEAD
|
| -
|
| -if [ $? != 0 ]; then
|
| - cat <<EOF
|
| -
|
| ---------------------------------------------------------------------------------
|
| -Something went wrong! Restoring your previous state by checking out
|
| -$current_head
|
| -
|
| -Please file a bug report at http://new.crbug.com.
|
| ---------------------------------------------------------------------------------
|
| -
|
| -EOF
|
| - git checkout --force $current_head
|
| - exit 1
|
| -fi
|
| -
|
| -git checkout "${lkgr_branch}"
|
| -
|
| -cat <<EOF
|
| -
|
| ---------------------------------------------------------------------------------
|
| -The new branch "$lkgr_branch" was branched from this commit:
|
| -
|
| -$git_lkgr
|
| -
|
| -... which maps to the svn commit r${svn_lkgr}. The new branch
|
| -has one additional commit, to bring .DEPS.git, .gitmodules, and the
|
| -invisible git submodule files up to date with DEPS.
|
| -
|
| -To create a working branch, do this:
|
| -
|
| -\$ git branch --track my_new_branch $lkgr_branch
|
| -
|
| -'git-cl upload' will do the right thing, i.e., it will cherry-pick all
|
| -your changes from my_new_branch, but *not* the .DEPS.git+.gitmodules+submodules
|
| -commit on $lkgr_branch.
|
| ---------------------------------------------------------------------------------
|
| -
|
| -EOF
|
|
|