#!/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.

set -e

. ./test-lib.sh

setup_initsvn
setup_gitsvn_submodule

(
  set -e
  prev_svn_revision=`svn info file://$PWD/svnrepo | grep ^Revision | \
      sed s/^.*:// | xargs`
  cd git-svn-submodule
  git config rietveld.server localhost:1
  git checkout -q --track -b work
  echo "some work done" >> test
  git add test; git commit -q -m "work \
TBR=foo"

  git_diff=`git diff HEAD^ | sed -n '/^@@/,$p' | xargs`

  test_expect_success "dcommitted code" \
      "$GIT_CL dcommit -f --bypass-hooks -m 'dcommit'"

  cd ..

  next_svn_revision=`svn info file://$PWD/svnrepo | grep ^Revision | \
      sed s/^.*:// | xargs`

  test_expect_success "svn got new revision" \
      "test $next_svn_revision = `expr $prev_svn_revision + 1`"

  svn_diff=`svn diff -c $next_svn_revision file://$PWD/svnrepo | \
      sed -n '/^@@/,$p' | xargs`

  test_expect_success "svn diff is correct" \
      "test \"$git_diff\" = \"$svn_diff\""

  cd git-svn-submodule
  git svn fetch
  last_svn_rev=`git show refs/remotes/trunk | grep git-svn-id: | \
      grep -o trunk@[0-9]* | xargs`

  test_expect_success "git svn fetch gets new svn revision" \
      "test $last_svn_rev = trunk@$next_svn_revision"
)
SUCCESS=$?

#cleanup

if [ $SUCCESS == 0 ]; then
  echo PASS
fi
