Subject: Bug in svn-fe: copying the root directory acts as if it's an empty directory

From: Andrew Sayers <[email-masked]>
Date: Wed, 07 Mar 2012 23:13:06 +0000

Here's a bug with svn-fe that I stumbled over while snorkelling through
repo madness.  I've tested it with the version of svn-fe in git.git's
master branch.

Copying the root directory to a sub-directory (e.g. doing `svn cp .
trunk` to standardise your layout) doesn't correctly initialise the new
directory.  To replicate the issue, run the following script from an
empty directory (update GIT_DIR to point to your git.git repository):

GIT_DIR="/home/andrew/git/git"
ROOT_DIR="$(pwd)"

svnadmin create repo
svn checkout "file://$ROOT_DIR/repo" checkout
cd checkout
echo text > README.txt
svn add README.txt
svn ci -m "Created README.txt"
svn cp "file://$ROOT_DIR/repo" "file://$ROOT_DIR/repo/trunk" \
    -m "Created trunk"
cd ..
mkfifo backchannel
mkdir git-repo
cd git-repo/
git init
svnadmin dump --deltas "$ROOT_DIR/repo" \
    | "$GIT_DIR/contrib/svn-fe/svn-fe" 3<../backchannel \
    | "$GIT_DIR/git-fast-import" --cat-blob-fd=3 3>../backchannel

Expected: the git repo contains "README.txt" and "trunk/README.txt"
Observed: "README.txt" exists but "trunk/README.txt" doesn't

	- Andrew