diff --git a/git-lkgr b/git-lkgr deleted file mode 100755 index c6a222ddba..0000000000 --- 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 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 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 <&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 <&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 <&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 <