mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 01:07:15 +03:00
479bebaa1f
These test changes should make it easier to see what's still broken in 1.8 and 1.9. Ideally, we'll drop pre-1.8 versions soon and rip most of this out, but I'm not sure how realistic that is in the short term.
86 lines
2.1 KiB
Bash
Executable File
86 lines
2.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Fails for some reason, need to investigate
|
|
# "$TESTDIR/hghave" git || exit 80
|
|
|
|
# bail if the user does not have dulwich
|
|
python -c 'import dulwich, dulwich.repo' || exit 80
|
|
|
|
# bail early if the user is already running git-daemon
|
|
echo hi | nc localhost 9418 2>/dev/null && exit 80
|
|
|
|
echo "[extensions]" >> $HGRCPATH
|
|
echo "hggit=$(echo $(dirname $(dirname $0)))/hggit" >> $HGRCPATH
|
|
echo 'hgext.graphlog =' >> $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
|
|
|
|
count=10
|
|
commit()
|
|
{
|
|
GIT_AUTHOR_DATE="2007-01-01 00:00:$count +0000"
|
|
GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"
|
|
git commit "$@" >/dev/null 2>/dev/null || echo "git commit error"
|
|
count=`expr $count + 1`
|
|
}
|
|
|
|
mkdir gitrepo
|
|
cd gitrepo
|
|
git init | python -c "import sys; print sys.stdin.read().replace('$(dirname $(pwd))/', '')"
|
|
echo alpha > alpha
|
|
git add alpha
|
|
commit -m 'add alpha'
|
|
echo beta > beta
|
|
git add beta
|
|
commit -m 'add beta'
|
|
mkdir foo
|
|
echo blah > foo/bar
|
|
git add foo
|
|
commit -m 'add foo'
|
|
git rm alpha
|
|
commit -m 'remove alpha'
|
|
git rm foo/bar
|
|
commit -m 'remove foo/bar'
|
|
echo % final manifest in git is just beta
|
|
git ls-files
|
|
|
|
cd ..
|
|
mkdir gitrepo2
|
|
cd gitrepo2
|
|
git init --bare | python -c "import sys; print sys.stdin.read().replace('$(dirname $(pwd))/', '')"
|
|
|
|
# dulwich does not presently support local git repos, workaround
|
|
cd ..
|
|
git daemon --base-path="$(pwd)"\
|
|
--listen=localhost\
|
|
--export-all\
|
|
--pid-file="$DAEMON_PIDS" \
|
|
--detach --reuseaddr \
|
|
--enable=receive-pack
|
|
|
|
hg clone git://localhost/gitrepo hgrepo | grep -v '^updating'
|
|
cd hgrepo
|
|
hg log --graph | grep -v ': *master'
|
|
|
|
echo
|
|
echo % make sure alpha is not in this manifest
|
|
hg manifest -r 3
|
|
|
|
echo
|
|
echo % make sure that only beta is in the manifest
|
|
hg manifest
|
|
|
|
hg gclear
|
|
hg push git://localhost/gitrepo2
|
|
|
|
cd ../gitrepo2
|
|
git log --pretty=medium
|
|
|
|
cd ..
|