Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
hg-git
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
mercurial
hg-git
Commits
8e17f8a1
Commit
8e17f8a1
authored
10 years ago
by
Siddharth Agarwal
Browse files
Options
Downloads
Patches
Plain Diff
tests: add further tests for gitlink <-> symlink and rename detection
There weren't any bugs here, but this is good to test.
parent
e22ffc47
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
tests/test-git-submodules.t
+187
-11
187 additions, 11 deletions
tests/test-git-submodules.t
with
187 additions
and
11 deletions
tests/test-git-submodules.t
+
187
−
11
View file @
8e17f8a1
...
...
@@ -87,6 +87,79 @@
2
files
changed
,
4
insertions
(
+
),
1
deletion
(
-
)
mode
change
100644
=>
160000
alpha
$
ln
-
s foo foolink
$ git add foolin
k
$
git
commit
-
m 'add symlink'
[
master
2
d1c135
]
add
symlink
1
file
changed
,
1
insertion
(
+
)
create
mode
120000
foolink
replace
symlink
with
subrepo
$
git
rm
foolink
rm
'
foolink
'
$
git
submodule
add
../
gitsubrepo
foolink
2
>&
1
|
python
-
c
"
$rmpwd
"
|
sed
"
$clonefilt
"
|
egrep
-
v
'
^done\.$
'
Initialized
empty
Git
repository
in
...
$
git
commit
-
m 'replace symlink with subrepo'
|
sed
'
s/, 0 deletions(-)//
'
|
sed
'
s/, 0 insertions(+)//
'
[
master
e3288fa
]
replace
symlink
with
subrepo
2
files
changed
,
4
insertions
(
+
),
1
deletion
(
-
)
mode
change
120000
=>
160000
foolink
replace
subrepo
with
symlink
$
cat
>
.
gitmodules
<<
EOF
>
[
submodule
"
subrepo2
"]
>
path
=
subrepo2
>
url
=
../
gitsubrepo
>
[
submodule
"
alpha
"]
>
path
=
alpha
>
url
=
../
gitsubrepo
>
EOF
$
git
add
.
gitmodules
$
git
rm
--
cached
foolink
rm
'
foolink
'
$
rm
-
rf
foolink
$
ln
-
s foo foolink
$ git add foolin
k
$
git
commit
-
m 'replace subrepo with symlink'
|
sed
'
s/, 0 deletions(-)//
'
|
sed
'
s/, 0 insertions(+)//
'
[
master
d283640
]
replace
subrepo
with
symlink
2
files
changed
,
1
insertion
(
+
),
4
deletions
(
-
)
mode
change
160000
=>
120000
foolink
$
git
show
commit
d28364013fe1a0fde56c0e1921e49ecdeee8571d
Author:
test
<
test@example
.
org
>
Date:
Mon
Jan
1
00
:
00
:
12
2007
+
0000
replace
subrepo
with
symlink
diff
--
git
a
/.gitmodules b/
.
gitmodules
index
b511494
..
813e20
b
100644
---
a
/.
gitmodules
+++
b
/.
gitmodules
@@
-
4
,
6
+
4
,
3
@@
[
submodule
"
alpha
"]
path
=
alpha
url
=
../
gitsubrepo
-
[
submodule
"
foolink
"]
-
path
=
foolink
-
url
=
../
gitsubrepo
diff
--
git
a
/foolink b/
foolink
deleted
file
mode
160000
index
6e4
ad8d
..
0000000
---
a
/
foolink
+++
/dev/null
@@
-
1
+
0
,
0
@@
-
Subproject
commit
6e4
ad8da50204560c00fa25e4987eb2e239029ba
diff
--
git
a
/foolink b/
foolink
new
file
mode
120000
index
0000000
..
1910281
---
/dev/null
+++
b
/
foolink
@@
-
0
,
0
+
1
@@
+
foo
\
No
newline
at
end
of
file
$
git
rm
--
cached
subrepo2
rm
'
subrepo2
'
$
git
rm
--
cached
alpha
...
...
@@ -94,10 +167,10 @@
$
git
rm
.
gitmodules
rm
'
.gitmodules
'
$
git
commit
-
m 'remove all subrepos'
|
sed
'
s/, 0 deletions(-)//
'
|
sed
'
s/, 0 insertions(+)//
'
[
master
d3c4728
]
remove
all
subrepos
[
master
15
ba949
]
remove
all
subrepos
3
files
changed
,
8
deletions
(
-
)
delete
mode
100644
.
gitmodules
delete
mode
160000
alpha
delete
mode
160000
subrepo2
$
git
log
--
pretty
=
oneline
...
...
@@ -98,10 +171,13 @@
3
files
changed
,
8
deletions
(
-
)
delete
mode
100644
.
gitmodules
delete
mode
160000
alpha
delete
mode
160000
subrepo2
$
git
log
--
pretty
=
oneline
d3c472800f9d11baa6615971a3179fd441869173
remove
all
subrepos
15
ba94929481c654814178aac1dbca06ae688718
remove
all
subrepos
d28364013fe1a0fde56c0e1921e49ecdeee8571d
replace
subrepo
with
symlink
e3288fa737d429a60637b3b6782cb25b8298bc00
replace
symlink
with
subrepo
2
d1c135447d11df4dfe96dd5d4f37926dc5c821d
add
symlink
88171163
bf4795b5570924e51d5f8ede33f8bc28
replace
file
with
subrepo
f6436a472da00f581d8d257e9bbaf3c358a5e88c
replace
subrepo
with
file
6e219527869
fa40eb6ffbdd013cd86d576b26b01
add
another
subrepo
...
...
@@ -113,6 +189,6 @@
$
hg
clone
gitrepo2
hgrepo
|
grep
-
v
'
^updating
'
importing
git
objects
into
hg
1
files
updated
,
0
files
merged
,
0
files
removed
,
0
files
unresolved
2
files
updated
,
0
files
merged
,
0
files
removed
,
0
files
unresolved
$
cd
hgrepo
$
hg
log
--
graph
|
grep
-
v
'
: *master
'
...
...
@@ -117,9 +193,9 @@
$
cd
hgrepo
$
hg
log
--
graph
|
grep
-
v
'
: *master
'
@
changeset:
6
:
b52cbe4c3ffe
@
changeset:
9
:
9
c3929c04f22
|
tag:
default
/
master
|
tag:
tip
|
user:
test
<
test@example
.
org
>
|
date:
Mon
Jan
01
00
:
00
:
12
2007
+
0000
|
summary:
remove
all
subrepos
|
...
...
@@ -120,9 +196,24 @@
|
tag:
default
/
master
|
tag:
tip
|
user:
test
<
test@example
.
org
>
|
date:
Mon
Jan
01
00
:
00
:
12
2007
+
0000
|
summary:
remove
all
subrepos
|
o
changeset:
8
:
1
b71dd3e6033
|
user:
test
<
test@example
.
org
>
|
date:
Mon
Jan
01
00
:
00
:
12
2007
+
0000
|
summary:
replace
subrepo
with
symlink
|
o
changeset:
7
:
e338dc0b9f64
|
user:
test
<
test@example
.
org
>
|
date:
Mon
Jan
01
00
:
00
:
12
2007
+
0000
|
summary:
replace
symlink
with
subrepo
|
o
changeset:
6
:
db94aa767571
|
user:
test
<
test@example
.
org
>
|
date:
Mon
Jan
01
00
:
00
:
12
2007
+
0000
|
summary:
add
symlink
|
o
changeset:
5
:
87
bae50d72cb
|
user:
test
<
test@example
.
org
>
|
date:
Mon
Jan
01
00
:
00
:
12
2007
+
0000
...
...
@@ -154,7 +245,7 @@
summary:
add
alpha
$
hg
book
*
master
6
:
b52cbe4c3ffe
*
master
9
:
9
c3929c04f22
(
add
subrepo
)
$
hg
cat
-
r
1
.
hgsubstate
...
...
@@ -211,4 +302,25 @@
$
hg
gverify
-
r
5
verifying
rev
87
bae50d72cb
against
git
commit
88171163
bf4795b5570924e51d5f8ede33f8bc28
(
replace
symlink
with
subrepo
)
$
hg
cat
-
r
7
.
hgsub
.
hgsubstate
subrepo2
=
[
git
]
../
gitsubrepo
alpha
=
[
git
]
../
gitsubrepo
foolink
=
[
git
]
../
gitsubrepo
6e4
ad8da50204560c00fa25e4987eb2e239029ba
alpha
6e4
ad8da50204560c00fa25e4987eb2e239029ba
foolink
6e4
ad8da50204560c00fa25e4987eb2e239029ba
subrepo2
$
hg
gverify
-
r
7
verifying
rev
e338dc0b9f64
against
git
commit
e3288fa737d429a60637b3b6782cb25b8298bc00
(
replace
subrepo
with
symlink
)
$
hg
cat
-
r
8
.
hgsub
.
hgsubstate
subrepo2
=
[
git
]
../
gitsubrepo
alpha
=
[
git
]
../
gitsubrepo
6e4
ad8da50204560c00fa25e4987eb2e239029ba
alpha
6e4
ad8da50204560c00fa25e4987eb2e239029ba
subrepo2
$
hg
gverify
-
r
8
verifying
rev
1
b71dd3e6033
against
git
commit
d28364013fe1a0fde56c0e1921e49ecdeee8571d
(
remove
all
subrepos
)
...
...
@@ -214,5 +326,5 @@
(
remove
all
subrepos
)
$
hg
cat
-
r
6
.
hgsub
.
hgsubstate
.
hgsub:
no
such
file
in
rev
b52cbe4c3ffe
.
hgsubstate:
no
such
file
in
rev
b52cbe4c3ffe
$
hg
cat
-
r
9
.
hgsub
.
hgsubstate
.
hgsub:
no
such
file
in
rev
9
c3929c04f22
.
hgsubstate:
no
such
file
in
rev
9
c3929c04f22
[
1
]
...
...
@@ -218,9 +330,9 @@
[
1
]
$
hg
gverify
-
r
6
verifying
rev
b52cbe4c3ffe
against
git
commit
d3c472800f9d11baa6615971a3179fd441869173
$
hg
gverify
-
r
9
verifying
rev
9
c3929c04f22
against
git
commit
15
ba94929481c654814178aac1dbca06ae688718
$
hg
gclear
clearing
out
the
git
cache
data
$
hg
gexport
$
cd
.
hg
/
git
$
git
log
--
pretty
=
oneline
...
...
@@ -221,13 +333,16 @@
$
hg
gclear
clearing
out
the
git
cache
data
$
hg
gexport
$
cd
.
hg
/
git
$
git
log
--
pretty
=
oneline
d3c472800f9d11baa6615971a3179fd441869173
remove
all
subrepos
15
ba94929481c654814178aac1dbca06ae688718
remove
all
subrepos
d28364013fe1a0fde56c0e1921e49ecdeee8571d
replace
subrepo
with
symlink
e3288fa737d429a60637b3b6782cb25b8298bc00
replace
symlink
with
subrepo
2
d1c135447d11df4dfe96dd5d4f37926dc5c821d
add
symlink
88171163
bf4795b5570924e51d5f8ede33f8bc28
replace
file
with
subrepo
f6436a472da00f581d8d257e9bbaf3c358a5e88c
replace
subrepo
with
file
6e219527869
fa40eb6ffbdd013cd86d576b26b01
add
another
subrepo
a000567ceefbd9a2ce364e0dea6e298010b02b6d
change
subrepo
commit
e42b08b3cb7069b4594a4ee1d9cb641ee47b2355
add
subrepo
7
eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03
add
alpha
...
...
@@ -228,6 +343,67 @@
88171163
bf4795b5570924e51d5f8ede33f8bc28
replace
file
with
subrepo
f6436a472da00f581d8d257e9bbaf3c358a5e88c
replace
subrepo
with
file
6e219527869
fa40eb6ffbdd013cd86d576b26b01
add
another
subrepo
a000567ceefbd9a2ce364e0dea6e298010b02b6d
change
subrepo
commit
e42b08b3cb7069b4594a4ee1d9cb641ee47b2355
add
subrepo
7
eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03
add
alpha
test
with
rename
detection
enabled
--
simply
checking
that
the
Mercurial
hashes
are
the
same
is
enough
$
cd
..
/../
..
$
hg
--
config
git
.
similarity
=
100
clone
gitrepo2
hgreporenames
|
grep
-
v
'
^updating
'
importing
git
objects
into
hg
2
files
updated
,
0
files
merged
,
0
files
removed
,
0
files
unresolved
$
cd
hgreporenames
$
hg
log
--
graph
|
grep
-
v
'
: *master
'
@
changeset:
9
:
9
c3929c04f22
|
tag:
default
/
master
|
tag:
tip
|
user:
test
<
test@example
.
org
>
|
date:
Mon
Jan
01
00
:
00
:
12
2007
+
0000
|
summary:
remove
all
subrepos
|
o
changeset:
8
:
1
b71dd3e6033
|
user:
test
<
test@example
.
org
>
|
date:
Mon
Jan
01
00
:
00
:
12
2007
+
0000
|
summary:
replace
subrepo
with
symlink
|
o
changeset:
7
:
e338dc0b9f64
|
user:
test
<
test@example
.
org
>
|
date:
Mon
Jan
01
00
:
00
:
12
2007
+
0000
|
summary:
replace
symlink
with
subrepo
|
o
changeset:
6
:
db94aa767571
|
user:
test
<
test@example
.
org
>
|
date:
Mon
Jan
01
00
:
00
:
12
2007
+
0000
|
summary:
add
symlink
|
o
changeset:
5
:
87
bae50d72cb
|
user:
test
<
test@example
.
org
>
|
date:
Mon
Jan
01
00
:
00
:
12
2007
+
0000
|
summary:
replace
file
with
subrepo
|
o
changeset:
4
:
33729
ae46d57
|
user:
test
<
test@example
.
org
>
|
date:
Mon
Jan
01
00
:
00
:
12
2007
+
0000
|
summary:
replace
subrepo
with
file
|
o
changeset:
3
:
4
d2f0f4fb53d
|
user:
test
<
test@example
.
org
>
|
date:
Mon
Jan
01
00
:
00
:
12
2007
+
0000
|
summary:
add
another
subrepo
|
o
changeset:
2
:
620
c9d5e9a98
|
user:
test
<
test@example
.
org
>
|
date:
Mon
Jan
01
00
:
00
:
12
2007
+
0000
|
summary:
change
subrepo
commit
|
o
changeset:
1
:
f20b40ad6da1
|
user:
test
<
test@example
.
org
>
|
date:
Mon
Jan
01
00
:
00
:
11
2007
+
0000
|
summary:
add
subrepo
|
o
changeset:
0
:
ff7a2f2d8d70
user:
test
<
test@example
.
org
>
date:
Mon
Jan
01
00
:
00
:
10
2007
+
0000
summary:
add
alpha
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment