t / t9127-git-svn-partial-rebuild.shon commit Merge branch 'tg/maint-cache-name-compare' into tg/ce-namelen-field (0138851)
   1#!/bin/sh
   2#
   3# Copyright (c) 2008 Deskin Miller
   4#
   5
   6test_description='git svn partial-rebuild tests'
   7. ./lib-git-svn.sh
   8
   9test_expect_success 'initialize svnrepo' '
  10        mkdir import &&
  11        (
  12                (cd import &&
  13                mkdir trunk branches tags &&
  14                (cd trunk &&
  15                echo foo > foo
  16                ) &&
  17                svn_cmd import -m "import for git-svn" . "$svnrepo" >/dev/null &&
  18                svn_cmd copy "$svnrepo"/trunk "$svnrepo"/branches/a \
  19                        -m "created branch a"
  20                ) &&
  21                rm -rf import &&
  22                svn_cmd co "$svnrepo"/trunk trunk &&
  23                (cd trunk &&
  24                echo bar >> foo &&
  25                svn_cmd ci -m "updated trunk"
  26                ) &&
  27                svn_cmd co "$svnrepo"/branches/a a &&
  28                (cd a &&
  29                echo baz >> a &&
  30                svn_cmd add a &&
  31                svn_cmd ci -m "updated a"
  32                ) &&
  33                git svn init --stdlayout "$svnrepo"
  34        )
  35'
  36
  37test_expect_success 'import an early SVN revision into git' '
  38        git svn fetch -r1:2
  39'
  40
  41test_expect_success 'make full git mirror of SVN' '
  42        mkdir mirror &&
  43        (
  44                (cd mirror &&
  45                git init &&
  46                git svn init --stdlayout "$svnrepo" &&
  47                git svn fetch
  48                )
  49        )
  50'
  51
  52test_expect_success 'fetch from git mirror and partial-rebuild' '
  53        git config --add remote.origin.url "file://$PWD/mirror/.git" &&
  54        git config --add remote.origin.fetch refs/remotes/*:refs/remotes/* &&
  55        git fetch origin &&
  56        git svn fetch
  57'
  58
  59test_done