Bug in svn-fe: copying the root directory acts as if it's an empty directory
- From
- Andrew Sayers <andrew-git@pileofstuff.org>
- Date
- Mar 7, 2012, 23:13 UTC
- Message-ID
- <4F57EB82.4000309@pileofstuff.org>
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>../backchannelExpected: the git repo contains "README.txt" and "trunk/README.txt" Observed: "README.txt" exists but "trunk/README.txt" doesn't
- Andrew