t / t9127-git-svn-partial-rebuild.shon commit git-svn: do a partial rebuild if rev_map is out-of-date (2beec89)
   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                cd .. &&
  17                svn import -m "import for git-svn" . "$svnrepo" >/dev/null &&
  18                svn copy "$svnrepo"/trunk "$svnrepo"/branches/a \
  19                        -m "created branch a" &&
  20                cd .. &&
  21                rm -rf import &&
  22                svn co "$svnrepo"/trunk trunk &&
  23                cd trunk &&
  24                echo bar >> foo &&
  25                svn ci -m "updated trunk" &&
  26                cd .. &&
  27                svn co "$svnrepo"/branches/a a &&
  28                cd a &&
  29                echo baz >> a &&
  30                svn add a &&
  31                svn ci -m "updated a" &&
  32                cd .. &&
  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                cd ..
  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