Skip to content
Snippets Groups Projects
Commit 76a0e1ee7cf7 authored by Dmitriy Taychenachev's avatar Dmitriy Taychenachev
Browse files

don't fail while exporting commit with empty working tree. +test.

parent 0c94e860a0ed
No related branches found
No related tags found
No related merge requests found
......@@ -294,5 +294,4 @@
trees['/'] = []
trees['/'].append(fileentry)
# sort by tree depth, so we write the deepest trees first
dirs = trees.keys()
......@@ -298,8 +297,14 @@
dirs = trees.keys()
dirs.sort(lambda a, b: len(b.split('/'))-len(a.split('/')))
dirs.remove('/')
dirs.append('/')
if dirs:
# sort by tree depth, so we write the deepest trees first
dirs.sort(lambda a, b: len(b.split('/'))-len(a.split('/')))
dirs.remove('/')
dirs.append('/')
else:
# manifest is empty => make empty root tree
trees['/'] = []
dirs = ['/']
# write all the trees
tree_sha = None
tree_shas = {}
......
#!/bin/sh
# Fails for some reason, need to investigate
# "$TESTDIR/hghave" git || exit 80
# bail early if the user is already running git-daemon
echo hi | nc localhost 9418 && exit 80
echo "[extensions]" >> $HGRCPATH
echo "hggit=$(echo $(dirname $(dirname $0)))" >> $HGRCPATH
echo 'hgext.bookmarks =' >> $HGRCPATH
GIT_AUTHOR_NAME='test'; export GIT_AUTHOR_NAME
GIT_AUTHOR_EMAIL='test@example.org'; export GIT_AUTHOR_EMAIL
GIT_AUTHOR_DATE="2007-01-01 00:00:00 +0000"; export GIT_AUTHOR_DATE
GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"; export GIT_COMMITTER_NAME
GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"; export GIT_COMMITTER_EMAIL
GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"; export GIT_COMMITTER_DATE
mkdir gitrepo
cd gitrepo
git init | python -c "import sys; print sys.stdin.read().replace('$(dirname $(pwd))/', '')"
git commit --allow-empty -m empty
# dulwich does not presently support local git repos, workaround
cd ..
git daemon --base-path="$(pwd)"\
--listen=localhost\
--export-all\
--pid-file=gitdaemon.pid \
--detach --reuseaddr
hg gclone git://localhost/gitrepo hgrepo
cd hgrepo
hg log -r tip --template 'files: {files}\n'
hg gclear
hg gexport
cd ..
kill `cat gitdaemon.pid`
Initialized empty Git repository in gitrepo/.git/
[master (root-commit) 6782568] empty
fetching from : origin
exporting git objects
Counting objects: 2, done.
Total 2 (delta 0), reused 0 (delta 0)
importing Git objects into Hg
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
files:
clearing out the git cache data
exporting git objects
at: 0/1
converting revision 0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment