mirror of
https://github.com/facebook/sapling.git
synced 2024-10-06 23:07:18 +03:00
tests: unify test-convert-git
This commit is contained in:
parent
50d09c4529
commit
75c074ba2e
@ -1,186 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
"$TESTDIR/hghave" git || exit 80
|
||||
|
||||
echo "[extensions]" >> $HGRCPATH
|
||||
echo "convert=" >> $HGRCPATH
|
||||
echo 'hgext.graphlog =' >> $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 git-repo
|
||||
cd git-repo
|
||||
git init-db >/dev/null 2>/dev/null
|
||||
echo a > a
|
||||
mkdir d
|
||||
echo b > d/b
|
||||
git add a d
|
||||
commit -a -m t1
|
||||
|
||||
# Remove the directory, then try to replace it with a file
|
||||
# (issue 754)
|
||||
git rm -f d/b
|
||||
commit -m t2
|
||||
echo d > d
|
||||
git add d
|
||||
commit -m t3
|
||||
|
||||
echo b >> a
|
||||
commit -a -m t4.1
|
||||
|
||||
git checkout -b other HEAD~ >/dev/null 2>/dev/null
|
||||
echo c > a
|
||||
echo a >> a
|
||||
commit -a -m t4.2
|
||||
|
||||
git checkout master >/dev/null 2>/dev/null
|
||||
git pull --no-commit . other > /dev/null 2>/dev/null
|
||||
commit -m 'Merge branch other'
|
||||
cd ..
|
||||
|
||||
hg convert --datesort git-repo
|
||||
hg up -q -R git-repo-hg
|
||||
hg -R git-repo-hg tip -v
|
||||
|
||||
count=10
|
||||
mkdir git-repo2
|
||||
cd git-repo2
|
||||
git init-db >/dev/null 2>/dev/null
|
||||
|
||||
echo foo > foo
|
||||
git add foo
|
||||
commit -a -m 'add foo'
|
||||
|
||||
echo >> foo
|
||||
commit -a -m 'change foo'
|
||||
|
||||
git checkout -b Bar HEAD~ >/dev/null 2>/dev/null
|
||||
echo quux >> quux
|
||||
git add quux
|
||||
commit -a -m 'add quux'
|
||||
|
||||
echo bar > bar
|
||||
git add bar
|
||||
commit -a -m 'add bar'
|
||||
|
||||
git checkout -b Baz HEAD~ >/dev/null 2>/dev/null
|
||||
echo baz > baz
|
||||
git add baz
|
||||
commit -a -m 'add baz'
|
||||
|
||||
git checkout master >/dev/null 2>/dev/null
|
||||
git pull --no-commit . Bar Baz > /dev/null 2>/dev/null
|
||||
commit -m 'Octopus merge'
|
||||
|
||||
echo bar >> bar
|
||||
commit -a -m 'change bar'
|
||||
|
||||
git checkout -b Foo HEAD~ >/dev/null 2>/dev/null
|
||||
echo >> foo
|
||||
commit -a -m 'change foo'
|
||||
|
||||
git checkout master >/dev/null 2>/dev/null
|
||||
git pull --no-commit -s ours . Foo > /dev/null 2>/dev/null
|
||||
commit -m 'Discard change to foo'
|
||||
|
||||
cd ..
|
||||
|
||||
glog()
|
||||
{
|
||||
hg glog --template '{rev} "{desc|firstline}" files: {files}\n' "$@"
|
||||
}
|
||||
|
||||
splitrepo()
|
||||
{
|
||||
msg="$1"
|
||||
files="$2"
|
||||
opts=$3
|
||||
echo "% $files: $msg"
|
||||
prefix=`echo "$files" | sed -e 's/ /-/g'`
|
||||
fmap="$prefix.fmap"
|
||||
repo="$prefix.repo"
|
||||
for i in $files; do
|
||||
echo "include $i" >> "$fmap"
|
||||
done
|
||||
hg -q convert $opts --filemap "$fmap" --datesort git-repo2 "$repo"
|
||||
hg up -q -R "$repo"
|
||||
glog -R "$repo"
|
||||
hg -R "$repo" manifest --debug
|
||||
}
|
||||
|
||||
echo '% full conversion'
|
||||
hg -q convert --datesort git-repo2 fullrepo
|
||||
hg up -q -R fullrepo
|
||||
glog -R fullrepo
|
||||
hg -R fullrepo manifest --debug
|
||||
|
||||
splitrepo 'octopus merge' 'foo bar baz'
|
||||
|
||||
splitrepo 'only some parents of an octopus merge; "discard" a head' 'foo baz quux'
|
||||
|
||||
echo
|
||||
echo '% test binary conversion (issue 1359)'
|
||||
mkdir git-repo3
|
||||
cd git-repo3
|
||||
git init-db >/dev/null 2>/dev/null
|
||||
python -c 'file("b", "wb").write("".join([chr(i) for i in range(256)])*16)'
|
||||
git add b
|
||||
commit -a -m addbinary
|
||||
cd ..
|
||||
|
||||
echo '% convert binary file'
|
||||
hg convert git-repo3 git-repo3-hg
|
||||
|
||||
cd git-repo3-hg
|
||||
hg up -C
|
||||
python -c 'print len(file("b", "rb").read())'
|
||||
cd ..
|
||||
|
||||
echo
|
||||
echo '% test author vs committer'
|
||||
mkdir git-repo4
|
||||
cd git-repo4
|
||||
git init-db >/dev/null 2>/dev/null
|
||||
echo >> foo
|
||||
git add foo
|
||||
commit -a -m addfoo
|
||||
echo >> foo
|
||||
GIT_AUTHOR_NAME="nottest"
|
||||
commit -a -m addfoo2
|
||||
cd ..
|
||||
|
||||
echo '% convert author committer'
|
||||
hg convert git-repo4 git-repo4-hg
|
||||
hg -R git-repo4-hg log -v
|
||||
|
||||
echo '% --sourceorder should fail'
|
||||
hg convert --sourcesort git-repo4 git-repo4-sourcesort-hg
|
||||
|
||||
echo '% damage git repository and convert again'
|
||||
cat > damage.py <<EOF
|
||||
import os
|
||||
for root, dirs, files in os.walk('git-repo4/.git/objects'):
|
||||
if files:
|
||||
path = os.path.join(root, files[0])
|
||||
os.remove(path)
|
||||
break
|
||||
EOF
|
||||
python damage.py
|
||||
hg convert git-repo4 git-repo4-broken-hg 2>&1 | \
|
||||
grep 'abort:' | sed 's/abort:.*/abort:/g'
|
||||
|
||||
true
|
@ -1,131 +0,0 @@
|
||||
rm 'd/b'
|
||||
assuming destination git-repo-hg
|
||||
initializing destination git-repo-hg repository
|
||||
scanning source...
|
||||
sorting...
|
||||
converting...
|
||||
5 t1
|
||||
4 t2
|
||||
3 t3
|
||||
2 t4.1
|
||||
1 t4.2
|
||||
0 Merge branch other
|
||||
changeset: 5:c78094926be2
|
||||
tag: tip
|
||||
parent: 3:f5f5cb45432b
|
||||
parent: 4:4e174f80c67c
|
||||
user: test <test@example.org>
|
||||
date: Mon Jan 01 00:00:15 2007 +0000
|
||||
files: a
|
||||
description:
|
||||
Merge branch other
|
||||
|
||||
|
||||
% full conversion
|
||||
@ 9 "Discard change to foo" files: foo
|
||||
|\
|
||||
| o 8 "change foo" files: foo
|
||||
| |
|
||||
o | 7 "change bar" files: bar
|
||||
|/
|
||||
o 6 "(octopus merge fixup)" files:
|
||||
|\
|
||||
| o 5 "Octopus merge" files: baz
|
||||
| |\
|
||||
o | | 4 "add baz" files: baz
|
||||
| | |
|
||||
+---o 3 "add bar" files: bar
|
||||
| |
|
||||
o | 2 "add quux" files: quux
|
||||
| |
|
||||
| o 1 "change foo" files: foo
|
||||
|/
|
||||
o 0 "add foo" files: foo
|
||||
|
||||
245a3b8bc653999c2b22cdabd517ccb47aecafdf 644 bar
|
||||
354ae8da6e890359ef49ade27b68bbc361f3ca88 644 baz
|
||||
9277c9cc8dd4576fc01a17939b4351e5ada93466 644 foo
|
||||
88dfeab657e8cf2cef3dec67b914f49791ae76b1 644 quux
|
||||
% foo bar baz: octopus merge
|
||||
@ 8 "Discard change to foo" files: foo
|
||||
|\
|
||||
| o 7 "change foo" files: foo
|
||||
| |
|
||||
o | 6 "change bar" files: bar
|
||||
|/
|
||||
o 5 "(octopus merge fixup)" files:
|
||||
|\
|
||||
| o 4 "Octopus merge" files: baz
|
||||
| |\
|
||||
o | | 3 "add baz" files: baz
|
||||
| | |
|
||||
+---o 2 "add bar" files: bar
|
||||
| |
|
||||
| o 1 "change foo" files: foo
|
||||
|/
|
||||
o 0 "add foo" files: foo
|
||||
|
||||
245a3b8bc653999c2b22cdabd517ccb47aecafdf 644 bar
|
||||
354ae8da6e890359ef49ade27b68bbc361f3ca88 644 baz
|
||||
9277c9cc8dd4576fc01a17939b4351e5ada93466 644 foo
|
||||
% foo baz quux: only some parents of an octopus merge; "discard" a head
|
||||
@ 6 "Discard change to foo" files: foo
|
||||
|
|
||||
o 5 "change foo" files: foo
|
||||
|
|
||||
o 4 "Octopus merge" files:
|
||||
|\
|
||||
| o 3 "add baz" files: baz
|
||||
| |
|
||||
| o 2 "add quux" files: quux
|
||||
| |
|
||||
o | 1 "change foo" files: foo
|
||||
|/
|
||||
o 0 "add foo" files: foo
|
||||
|
||||
354ae8da6e890359ef49ade27b68bbc361f3ca88 644 baz
|
||||
9277c9cc8dd4576fc01a17939b4351e5ada93466 644 foo
|
||||
88dfeab657e8cf2cef3dec67b914f49791ae76b1 644 quux
|
||||
|
||||
% test binary conversion (issue 1359)
|
||||
% convert binary file
|
||||
initializing destination git-repo3-hg repository
|
||||
scanning source...
|
||||
sorting...
|
||||
converting...
|
||||
0 addbinary
|
||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
||||
4096
|
||||
|
||||
% test author vs committer
|
||||
% convert author committer
|
||||
initializing destination git-repo4-hg repository
|
||||
scanning source...
|
||||
sorting...
|
||||
converting...
|
||||
1 addfoo
|
||||
0 addfoo2
|
||||
changeset: 1:d63e967f93da
|
||||
tag: tip
|
||||
user: nottest <test@example.org>
|
||||
date: Mon Jan 01 00:00:21 2007 +0000
|
||||
files: foo
|
||||
description:
|
||||
addfoo2
|
||||
|
||||
committer: test <test@example.org>
|
||||
|
||||
|
||||
changeset: 0:0735477b0224
|
||||
user: test <test@example.org>
|
||||
date: Mon Jan 01 00:00:20 2007 +0000
|
||||
files: foo
|
||||
description:
|
||||
addfoo
|
||||
|
||||
|
||||
% --sourceorder should fail
|
||||
initializing destination git-repo4-sourcesort-hg repository
|
||||
abort: --sourcesort is not supported by this data source
|
||||
% damage git repository and convert again
|
||||
abort:
|
292
tests/test-convert-git.t
Normal file
292
tests/test-convert-git.t
Normal file
@ -0,0 +1,292 @@
|
||||
|
||||
$ "$TESTDIR/hghave" git || exit 80
|
||||
$ echo "[extensions]" >> $HGRCPATH
|
||||
$ echo "convert=" >> $HGRCPATH
|
||||
$ echo 'hgext.graphlog =' >> $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 git-repo
|
||||
$ cd git-repo
|
||||
$ git init-db >/dev/null 2>/dev/null
|
||||
$ echo a > a
|
||||
$ mkdir d
|
||||
$ echo b > d/b
|
||||
$ git add a d
|
||||
$ commit -a -m t1
|
||||
|
||||
Remove the directory, then try to replace it with a file
|
||||
(issue 754)
|
||||
|
||||
$ git rm -f d/b
|
||||
rm 'd/b'
|
||||
$ commit -m t2
|
||||
$ echo d > d
|
||||
$ git add d
|
||||
$ commit -m t3
|
||||
$ echo b >> a
|
||||
$ commit -a -m t4.1
|
||||
$ git checkout -b other HEAD~ >/dev/null 2>/dev/null
|
||||
$ echo c > a
|
||||
$ echo a >> a
|
||||
$ commit -a -m t4.2
|
||||
$ git checkout master >/dev/null 2>/dev/null
|
||||
$ git pull --no-commit . other > /dev/null 2>/dev/null
|
||||
$ commit -m 'Merge branch other'
|
||||
$ cd ..
|
||||
$ hg convert --datesort git-repo
|
||||
assuming destination git-repo-hg
|
||||
initializing destination git-repo-hg repository
|
||||
scanning source...
|
||||
sorting...
|
||||
converting...
|
||||
5 t1
|
||||
4 t2
|
||||
3 t3
|
||||
2 t4.1
|
||||
1 t4.2
|
||||
0 Merge branch other
|
||||
$ hg up -q -R git-repo-hg
|
||||
$ hg -R git-repo-hg tip -v
|
||||
changeset: 5:c78094926be2
|
||||
tag: tip
|
||||
parent: 3:f5f5cb45432b
|
||||
parent: 4:4e174f80c67c
|
||||
user: test <test@example.org>
|
||||
date: Mon Jan 01 00:00:15 2007 +0000
|
||||
files: a
|
||||
description:
|
||||
Merge branch other
|
||||
|
||||
|
||||
$ count=10
|
||||
$ mkdir git-repo2
|
||||
$ cd git-repo2
|
||||
$ git init-db >/dev/null 2>/dev/null
|
||||
$ echo foo > foo
|
||||
$ git add foo
|
||||
$ commit -a -m 'add foo'
|
||||
$ echo >> foo
|
||||
$ commit -a -m 'change foo'
|
||||
$ git checkout -b Bar HEAD~ >/dev/null 2>/dev/null
|
||||
$ echo quux >> quux
|
||||
$ git add quux
|
||||
$ commit -a -m 'add quux'
|
||||
$ echo bar > bar
|
||||
$ git add bar
|
||||
$ commit -a -m 'add bar'
|
||||
$ git checkout -b Baz HEAD~ >/dev/null 2>/dev/null
|
||||
$ echo baz > baz
|
||||
$ git add baz
|
||||
$ commit -a -m 'add baz'
|
||||
$ git checkout master >/dev/null 2>/dev/null
|
||||
$ git pull --no-commit . Bar Baz > /dev/null 2>/dev/null
|
||||
$ commit -m 'Octopus merge'
|
||||
$ echo bar >> bar
|
||||
$ commit -a -m 'change bar'
|
||||
$ git checkout -b Foo HEAD~ >/dev/null 2>/dev/null
|
||||
$ echo >> foo
|
||||
$ commit -a -m 'change foo'
|
||||
$ git checkout master >/dev/null 2>/dev/null
|
||||
$ git pull --no-commit -s ours . Foo > /dev/null 2>/dev/null
|
||||
$ commit -m 'Discard change to foo'
|
||||
$ cd ..
|
||||
$ glog()
|
||||
> {
|
||||
> hg glog --template '{rev} "{desc|firstline}" files: {files}\n' "$@"
|
||||
> }
|
||||
$ splitrepo()
|
||||
> {
|
||||
> msg="$1"
|
||||
> files="$2"
|
||||
> opts=$3
|
||||
> echo "% $files: $msg"
|
||||
> prefix=`echo "$files" | sed -e 's/ /-/g'`
|
||||
> fmap="$prefix.fmap"
|
||||
> repo="$prefix.repo"
|
||||
> for i in $files; do
|
||||
> echo "include $i" >> "$fmap"
|
||||
> done
|
||||
> hg -q convert $opts --filemap "$fmap" --datesort git-repo2 "$repo"
|
||||
> hg up -q -R "$repo"
|
||||
> glog -R "$repo"
|
||||
> hg -R "$repo" manifest --debug
|
||||
> }
|
||||
|
||||
full conversion
|
||||
|
||||
$ hg -q convert --datesort git-repo2 fullrepo
|
||||
$ hg up -q -R fullrepo
|
||||
$ glog -R fullrepo
|
||||
@ 9 "Discard change to foo" files: foo
|
||||
|\
|
||||
| o 8 "change foo" files: foo
|
||||
| |
|
||||
o | 7 "change bar" files: bar
|
||||
|/
|
||||
o 6 "(octopus merge fixup)" files:
|
||||
|\
|
||||
| o 5 "Octopus merge" files: baz
|
||||
| |\
|
||||
o | | 4 "add baz" files: baz
|
||||
| | |
|
||||
+---o 3 "add bar" files: bar
|
||||
| |
|
||||
o | 2 "add quux" files: quux
|
||||
| |
|
||||
| o 1 "change foo" files: foo
|
||||
|/
|
||||
o 0 "add foo" files: foo
|
||||
|
||||
$ hg -R fullrepo manifest --debug
|
||||
245a3b8bc653999c2b22cdabd517ccb47aecafdf 644 bar
|
||||
354ae8da6e890359ef49ade27b68bbc361f3ca88 644 baz
|
||||
9277c9cc8dd4576fc01a17939b4351e5ada93466 644 foo
|
||||
88dfeab657e8cf2cef3dec67b914f49791ae76b1 644 quux
|
||||
$ splitrepo 'octopus merge' 'foo bar baz'
|
||||
% foo bar baz: octopus merge
|
||||
@ 8 "Discard change to foo" files: foo
|
||||
|\
|
||||
| o 7 "change foo" files: foo
|
||||
| |
|
||||
o | 6 "change bar" files: bar
|
||||
|/
|
||||
o 5 "(octopus merge fixup)" files:
|
||||
|\
|
||||
| o 4 "Octopus merge" files: baz
|
||||
| |\
|
||||
o | | 3 "add baz" files: baz
|
||||
| | |
|
||||
+---o 2 "add bar" files: bar
|
||||
| |
|
||||
| o 1 "change foo" files: foo
|
||||
|/
|
||||
o 0 "add foo" files: foo
|
||||
|
||||
245a3b8bc653999c2b22cdabd517ccb47aecafdf 644 bar
|
||||
354ae8da6e890359ef49ade27b68bbc361f3ca88 644 baz
|
||||
9277c9cc8dd4576fc01a17939b4351e5ada93466 644 foo
|
||||
$ splitrepo 'only some parents of an octopus merge; "discard" a head' 'foo baz quux'
|
||||
% foo baz quux: only some parents of an octopus merge; "discard" a head
|
||||
@ 6 "Discard change to foo" files: foo
|
||||
|
|
||||
o 5 "change foo" files: foo
|
||||
|
|
||||
o 4 "Octopus merge" files:
|
||||
|\
|
||||
| o 3 "add baz" files: baz
|
||||
| |
|
||||
| o 2 "add quux" files: quux
|
||||
| |
|
||||
o | 1 "change foo" files: foo
|
||||
|/
|
||||
o 0 "add foo" files: foo
|
||||
|
||||
354ae8da6e890359ef49ade27b68bbc361f3ca88 644 baz
|
||||
9277c9cc8dd4576fc01a17939b4351e5ada93466 644 foo
|
||||
88dfeab657e8cf2cef3dec67b914f49791ae76b1 644 quux
|
||||
$ echo
|
||||
|
||||
|
||||
test binary conversion (issue 1359)
|
||||
|
||||
$ mkdir git-repo3
|
||||
$ cd git-repo3
|
||||
$ git init-db >/dev/null 2>/dev/null
|
||||
$ python -c 'file("b", "wb").write("".join([chr(i) for i in range(256)])*16)'
|
||||
$ git add b
|
||||
$ commit -a -m addbinary
|
||||
$ cd ..
|
||||
|
||||
convert binary file
|
||||
|
||||
$ hg convert git-repo3 git-repo3-hg
|
||||
initializing destination git-repo3-hg repository
|
||||
scanning source...
|
||||
sorting...
|
||||
converting...
|
||||
0 addbinary
|
||||
$ cd git-repo3-hg
|
||||
$ hg up -C
|
||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
||||
$ python -c 'print len(file("b", "rb").read())'
|
||||
4096
|
||||
$ cd ..
|
||||
$ echo
|
||||
|
||||
|
||||
test author vs committer
|
||||
|
||||
$ mkdir git-repo4
|
||||
$ cd git-repo4
|
||||
$ git init-db >/dev/null 2>/dev/null
|
||||
$ echo >> foo
|
||||
$ git add foo
|
||||
$ commit -a -m addfoo
|
||||
$ echo >> foo
|
||||
$ GIT_AUTHOR_NAME="nottest"
|
||||
$ commit -a -m addfoo2
|
||||
$ cd ..
|
||||
|
||||
convert author committer
|
||||
|
||||
$ hg convert git-repo4 git-repo4-hg
|
||||
initializing destination git-repo4-hg repository
|
||||
scanning source...
|
||||
sorting...
|
||||
converting...
|
||||
1 addfoo
|
||||
0 addfoo2
|
||||
$ hg -R git-repo4-hg log -v
|
||||
changeset: 1:d63e967f93da
|
||||
tag: tip
|
||||
user: nottest <test@example.org>
|
||||
date: Mon Jan 01 00:00:21 2007 +0000
|
||||
files: foo
|
||||
description:
|
||||
addfoo2
|
||||
|
||||
committer: test <test@example.org>
|
||||
|
||||
|
||||
changeset: 0:0735477b0224
|
||||
user: test <test@example.org>
|
||||
date: Mon Jan 01 00:00:20 2007 +0000
|
||||
files: foo
|
||||
description:
|
||||
addfoo
|
||||
|
||||
|
||||
|
||||
--sourceorder should fail
|
||||
|
||||
$ hg convert --sourcesort git-repo4 git-repo4-sourcesort-hg
|
||||
initializing destination git-repo4-sourcesort-hg repository
|
||||
abort: --sourcesort is not supported by this data source
|
||||
[255]
|
||||
|
||||
damage git repository and convert again
|
||||
|
||||
$ cat > damage.py <<EOF
|
||||
> import os
|
||||
> for root, dirs, files in os.walk('git-repo4/.git/objects'):
|
||||
> if files:
|
||||
> path = os.path.join(root, files[0])
|
||||
> os.remove(path)
|
||||
> break
|
||||
> EOF
|
||||
$ python damage.py
|
||||
$ hg convert git-repo4 git-repo4-broken-hg 2>&1 | \
|
||||
> grep 'abort:' | sed 's/abort:.*/abort:/g'
|
||||
abort:
|
Loading…
Reference in New Issue
Block a user