summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <carlosmn@github.com>2016-04-01 00:29:51 -0700
committerCarlos Martín Nieto <carlosmn@github.com>2016-04-01 00:29:51 -0700
commit1cac688d3f064f1b193c078e40b1b5eeca99dc16 (patch)
tree539a964b5530fb55f635bbcbb7720e3e9bceb214
parent24ecf18e81143b4e5f75ef31fc5b10582067d253 (diff)
parent4df6ddaa1ac35e4f76eb2362723183b9efc96729 (diff)
downloadlibgit2-1cac688d3f064f1b193c078e40b1b5eeca99dc16.tar.gz
Merge pull request #3719 from libgit2/ethomson/submodule_status
WD iterator: properly identify submodules
-rw-r--r--src/iterator.c2
-rw-r--r--tests/resources/submod3/.gitted/HEAD1
-rw-r--r--tests/resources/submod3/.gitted/config25
-rw-r--r--tests/resources/submod3/.gitted/indexbin0 -> 832 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/EIGHT/HEAD1
-rwxr-xr-xtests/resources/submod3/.gitted/modules/EIGHT/config12
-rw-r--r--tests/resources/submod3/.gitted/modules/EIGHT/indexbin0 -> 192 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/EIGHT/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1bin0 -> 55 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/EIGHT/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484bin0 -> 53 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/EIGHT/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/EIGHT/objects/41/bd4bc3df978de695f67ace64c560913da11653bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/EIGHT/objects/48/0095882d281ed676fe5b863569520e54a7d5c0bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/EIGHT/objects/5e/4963595a9774b90524d35a807169049de8ccadbin0 -> 167 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/EIGHT/objects/6b/31c659545507c381e9cd34ec508f16c04e149e2
-rw-r--r--tests/resources/submod3/.gitted/modules/EIGHT/objects/73/ba924a80437097795ae839e66e187c55d3babfbin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/EIGHT/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a2
-rw-r--r--tests/resources/submod3/.gitted/modules/EIGHT/objects/78/9efbdadaa4a582778d4584385495559ea0994b2
-rw-r--r--tests/resources/submod3/.gitted/modules/EIGHT/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6ebin0 -> 81 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/EIGHT/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/EIGHT/packed-refs2
-rw-r--r--tests/resources/submod3/.gitted/modules/EIGHT/refs/heads/master1
-rw-r--r--tests/resources/submod3/.gitted/modules/EIGHT/refs/remotes/origin/HEAD1
-rw-r--r--tests/resources/submod3/.gitted/modules/Five/HEAD1
-rwxr-xr-xtests/resources/submod3/.gitted/modules/Five/config12
-rw-r--r--tests/resources/submod3/.gitted/modules/Five/indexbin0 -> 192 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/Five/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1bin0 -> 55 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/Five/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484bin0 -> 53 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/Five/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/Five/objects/41/bd4bc3df978de695f67ace64c560913da11653bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/Five/objects/48/0095882d281ed676fe5b863569520e54a7d5c0bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/Five/objects/5e/4963595a9774b90524d35a807169049de8ccadbin0 -> 167 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/Five/objects/6b/31c659545507c381e9cd34ec508f16c04e149e2
-rw-r--r--tests/resources/submod3/.gitted/modules/Five/objects/73/ba924a80437097795ae839e66e187c55d3babfbin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/Five/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a2
-rw-r--r--tests/resources/submod3/.gitted/modules/Five/objects/78/9efbdadaa4a582778d4584385495559ea0994b2
-rw-r--r--tests/resources/submod3/.gitted/modules/Five/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6ebin0 -> 81 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/Five/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/Five/packed-refs2
-rw-r--r--tests/resources/submod3/.gitted/modules/Five/refs/heads/master1
-rw-r--r--tests/resources/submod3/.gitted/modules/Five/refs/remotes/origin/HEAD1
-rw-r--r--tests/resources/submod3/.gitted/modules/FoUr/HEAD1
-rwxr-xr-xtests/resources/submod3/.gitted/modules/FoUr/config12
-rw-r--r--tests/resources/submod3/.gitted/modules/FoUr/indexbin0 -> 192 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/FoUr/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1bin0 -> 55 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/FoUr/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484bin0 -> 53 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/FoUr/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/FoUr/objects/41/bd4bc3df978de695f67ace64c560913da11653bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/FoUr/objects/48/0095882d281ed676fe5b863569520e54a7d5c0bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/FoUr/objects/5e/4963595a9774b90524d35a807169049de8ccadbin0 -> 167 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/FoUr/objects/6b/31c659545507c381e9cd34ec508f16c04e149e2
-rw-r--r--tests/resources/submod3/.gitted/modules/FoUr/objects/73/ba924a80437097795ae839e66e187c55d3babfbin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/FoUr/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a2
-rw-r--r--tests/resources/submod3/.gitted/modules/FoUr/objects/78/9efbdadaa4a582778d4584385495559ea0994b2
-rw-r--r--tests/resources/submod3/.gitted/modules/FoUr/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6ebin0 -> 81 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/FoUr/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/FoUr/packed-refs2
-rw-r--r--tests/resources/submod3/.gitted/modules/FoUr/refs/heads/master1
-rw-r--r--tests/resources/submod3/.gitted/modules/FoUr/refs/remotes/origin/HEAD1
-rw-r--r--tests/resources/submod3/.gitted/modules/One/HEAD1
-rwxr-xr-xtests/resources/submod3/.gitted/modules/One/config12
-rw-r--r--tests/resources/submod3/.gitted/modules/One/indexbin0 -> 192 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/One/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1bin0 -> 55 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/One/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484bin0 -> 53 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/One/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/One/objects/41/bd4bc3df978de695f67ace64c560913da11653bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/One/objects/48/0095882d281ed676fe5b863569520e54a7d5c0bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/One/objects/5e/4963595a9774b90524d35a807169049de8ccadbin0 -> 167 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/One/objects/6b/31c659545507c381e9cd34ec508f16c04e149e2
-rw-r--r--tests/resources/submod3/.gitted/modules/One/objects/73/ba924a80437097795ae839e66e187c55d3babfbin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/One/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a2
-rw-r--r--tests/resources/submod3/.gitted/modules/One/objects/78/9efbdadaa4a582778d4584385495559ea0994b2
-rw-r--r--tests/resources/submod3/.gitted/modules/One/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6ebin0 -> 81 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/One/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/One/packed-refs2
-rw-r--r--tests/resources/submod3/.gitted/modules/One/refs/heads/master1
-rw-r--r--tests/resources/submod3/.gitted/modules/One/refs/remotes/origin/HEAD1
-rw-r--r--tests/resources/submod3/.gitted/modules/TEN/HEAD1
-rwxr-xr-xtests/resources/submod3/.gitted/modules/TEN/config12
-rw-r--r--tests/resources/submod3/.gitted/modules/TEN/indexbin0 -> 192 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TEN/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1bin0 -> 55 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TEN/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484bin0 -> 53 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TEN/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TEN/objects/41/bd4bc3df978de695f67ace64c560913da11653bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TEN/objects/48/0095882d281ed676fe5b863569520e54a7d5c0bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TEN/objects/5e/4963595a9774b90524d35a807169049de8ccadbin0 -> 167 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TEN/objects/6b/31c659545507c381e9cd34ec508f16c04e149e2
-rw-r--r--tests/resources/submod3/.gitted/modules/TEN/objects/73/ba924a80437097795ae839e66e187c55d3babfbin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TEN/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a2
-rw-r--r--tests/resources/submod3/.gitted/modules/TEN/objects/78/9efbdadaa4a582778d4584385495559ea0994b2
-rw-r--r--tests/resources/submod3/.gitted/modules/TEN/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6ebin0 -> 81 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TEN/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TEN/packed-refs2
-rw-r--r--tests/resources/submod3/.gitted/modules/TEN/refs/heads/master1
-rw-r--r--tests/resources/submod3/.gitted/modules/TEN/refs/remotes/origin/HEAD1
-rw-r--r--tests/resources/submod3/.gitted/modules/TWO/HEAD1
-rwxr-xr-xtests/resources/submod3/.gitted/modules/TWO/config12
-rw-r--r--tests/resources/submod3/.gitted/modules/TWO/indexbin0 -> 192 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TWO/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1bin0 -> 55 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TWO/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484bin0 -> 53 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TWO/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TWO/objects/41/bd4bc3df978de695f67ace64c560913da11653bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TWO/objects/48/0095882d281ed676fe5b863569520e54a7d5c0bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TWO/objects/5e/4963595a9774b90524d35a807169049de8ccadbin0 -> 167 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TWO/objects/6b/31c659545507c381e9cd34ec508f16c04e149e2
-rw-r--r--tests/resources/submod3/.gitted/modules/TWO/objects/73/ba924a80437097795ae839e66e187c55d3babfbin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TWO/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a2
-rw-r--r--tests/resources/submod3/.gitted/modules/TWO/objects/78/9efbdadaa4a582778d4584385495559ea0994b2
-rw-r--r--tests/resources/submod3/.gitted/modules/TWO/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6ebin0 -> 81 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TWO/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/TWO/packed-refs2
-rw-r--r--tests/resources/submod3/.gitted/modules/TWO/refs/heads/master1
-rw-r--r--tests/resources/submod3/.gitted/modules/TWO/refs/remotes/origin/HEAD1
-rw-r--r--tests/resources/submod3/.gitted/modules/nine/HEAD1
-rwxr-xr-xtests/resources/submod3/.gitted/modules/nine/config12
-rw-r--r--tests/resources/submod3/.gitted/modules/nine/indexbin0 -> 192 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/nine/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1bin0 -> 55 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/nine/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484bin0 -> 53 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/nine/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/nine/objects/41/bd4bc3df978de695f67ace64c560913da11653bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/nine/objects/48/0095882d281ed676fe5b863569520e54a7d5c0bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/nine/objects/5e/4963595a9774b90524d35a807169049de8ccadbin0 -> 167 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/nine/objects/6b/31c659545507c381e9cd34ec508f16c04e149e2
-rw-r--r--tests/resources/submod3/.gitted/modules/nine/objects/73/ba924a80437097795ae839e66e187c55d3babfbin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/nine/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a2
-rw-r--r--tests/resources/submod3/.gitted/modules/nine/objects/78/9efbdadaa4a582778d4584385495559ea0994b2
-rw-r--r--tests/resources/submod3/.gitted/modules/nine/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6ebin0 -> 81 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/nine/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/nine/packed-refs2
-rw-r--r--tests/resources/submod3/.gitted/modules/nine/refs/heads/master1
-rw-r--r--tests/resources/submod3/.gitted/modules/nine/refs/remotes/origin/HEAD1
-rw-r--r--tests/resources/submod3/.gitted/modules/sEvEn/HEAD1
-rwxr-xr-xtests/resources/submod3/.gitted/modules/sEvEn/config12
-rw-r--r--tests/resources/submod3/.gitted/modules/sEvEn/indexbin0 -> 192 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/sEvEn/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1bin0 -> 55 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/sEvEn/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484bin0 -> 53 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/sEvEn/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/sEvEn/objects/41/bd4bc3df978de695f67ace64c560913da11653bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/sEvEn/objects/48/0095882d281ed676fe5b863569520e54a7d5c0bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/sEvEn/objects/5e/4963595a9774b90524d35a807169049de8ccadbin0 -> 167 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/sEvEn/objects/6b/31c659545507c381e9cd34ec508f16c04e149e2
-rw-r--r--tests/resources/submod3/.gitted/modules/sEvEn/objects/73/ba924a80437097795ae839e66e187c55d3babfbin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/sEvEn/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a2
-rw-r--r--tests/resources/submod3/.gitted/modules/sEvEn/objects/78/9efbdadaa4a582778d4584385495559ea0994b2
-rw-r--r--tests/resources/submod3/.gitted/modules/sEvEn/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6ebin0 -> 81 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/sEvEn/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/sEvEn/packed-refs2
-rw-r--r--tests/resources/submod3/.gitted/modules/sEvEn/refs/heads/master1
-rw-r--r--tests/resources/submod3/.gitted/modules/sEvEn/refs/remotes/origin/HEAD1
-rw-r--r--tests/resources/submod3/.gitted/modules/six/HEAD1
-rwxr-xr-xtests/resources/submod3/.gitted/modules/six/config12
-rw-r--r--tests/resources/submod3/.gitted/modules/six/indexbin0 -> 192 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/six/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1bin0 -> 55 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/six/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484bin0 -> 53 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/six/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/six/objects/41/bd4bc3df978de695f67ace64c560913da11653bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/six/objects/48/0095882d281ed676fe5b863569520e54a7d5c0bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/six/objects/5e/4963595a9774b90524d35a807169049de8ccadbin0 -> 167 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/six/objects/6b/31c659545507c381e9cd34ec508f16c04e149e2
-rw-r--r--tests/resources/submod3/.gitted/modules/six/objects/73/ba924a80437097795ae839e66e187c55d3babfbin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/six/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a2
-rw-r--r--tests/resources/submod3/.gitted/modules/six/objects/78/9efbdadaa4a582778d4584385495559ea0994b2
-rw-r--r--tests/resources/submod3/.gitted/modules/six/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6ebin0 -> 81 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/six/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/six/packed-refs2
-rw-r--r--tests/resources/submod3/.gitted/modules/six/refs/heads/master1
-rw-r--r--tests/resources/submod3/.gitted/modules/six/refs/remotes/origin/HEAD1
-rw-r--r--tests/resources/submod3/.gitted/modules/three/HEAD1
-rwxr-xr-xtests/resources/submod3/.gitted/modules/three/config12
-rw-r--r--tests/resources/submod3/.gitted/modules/three/indexbin0 -> 192 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/three/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1bin0 -> 55 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/three/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484bin0 -> 53 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/three/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/three/objects/41/bd4bc3df978de695f67ace64c560913da11653bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/three/objects/48/0095882d281ed676fe5b863569520e54a7d5c0bin0 -> 163 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/three/objects/5e/4963595a9774b90524d35a807169049de8ccadbin0 -> 167 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/three/objects/6b/31c659545507c381e9cd34ec508f16c04e149e2
-rw-r--r--tests/resources/submod3/.gitted/modules/three/objects/73/ba924a80437097795ae839e66e187c55d3babfbin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/three/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a2
-rw-r--r--tests/resources/submod3/.gitted/modules/three/objects/78/9efbdadaa4a582778d4584385495559ea0994b2
-rw-r--r--tests/resources/submod3/.gitted/modules/three/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6ebin0 -> 81 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/three/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5bin0 -> 93 bytes
-rw-r--r--tests/resources/submod3/.gitted/modules/three/packed-refs2
-rw-r--r--tests/resources/submod3/.gitted/modules/three/refs/heads/master1
-rw-r--r--tests/resources/submod3/.gitted/modules/three/refs/remotes/origin/HEAD1
-rw-r--r--tests/resources/submod3/.gitted/objects/0d/db6db2835a283823cd700a1d18f17b0ba6520dbin0 -> 116 bytes
-rw-r--r--tests/resources/submod3/.gitted/objects/0e/db4f085060fea212aecc25242d4c7685cdc01dbin0 -> 107 bytes
-rw-r--r--tests/resources/submod3/.gitted/objects/33/61720a7115648e518342a6524b29cc627ea11abin0 -> 146 bytes
-rw-r--r--tests/resources/submod3/.gitted/objects/4f/6ea8092cb19f39e25cd1b21c061893b6ce17bdbin0 -> 155 bytes
-rw-r--r--tests/resources/submod3/.gitted/objects/5b/6f93e4846d705ee2daa5d60348e7fc1c6715edbin0 -> 137 bytes
-rw-r--r--tests/resources/submod3/.gitted/objects/6e/7201a58feeaa462ac9f545928fe0b961ad9495bin0 -> 141 bytes
-rw-r--r--tests/resources/submod3/.gitted/objects/6f/b39bdc90378a0a9a05a127da035e560ced3900bin0 -> 64 bytes
-rw-r--r--tests/resources/submod3/.gitted/objects/90/459b51713bde15eb97852ff22c29270752b4321
-rw-r--r--tests/resources/submod3/.gitted/objects/d0/ea28557a5f50013ac72938bc285c2d8572e50dbin0 -> 126 bytes
-rw-r--r--tests/resources/submod3/.gitted/objects/d0/fe2af38ea8925d5b4982b56354ca17816b7e11bin0 -> 87 bytes
-rw-r--r--tests/resources/submod3/.gitted/objects/e6/4b5c9e517bbb34962611400cde683690e56aa8bin0 -> 76 bytes
-rw-r--r--tests/resources/submod3/.gitted/objects/e7/b6f5010b47e84573eb670d8b31f19fccab6964bin0 -> 97 bytes
-rw-r--r--tests/resources/submod3/.gitted/refs/heads/master1
-rw-r--r--tests/resources/submod3/EIGHT/.gitted1
-rw-r--r--tests/resources/submod3/EIGHT/README.txt3
-rw-r--r--tests/resources/submod3/EIGHT/file_to_modify3
-rw-r--r--tests/resources/submod3/Five/.gitted1
-rw-r--r--tests/resources/submod3/Five/README.txt3
-rw-r--r--tests/resources/submod3/Five/file_to_modify3
-rw-r--r--tests/resources/submod3/FoUr/.gitted1
-rw-r--r--tests/resources/submod3/FoUr/README.txt3
-rw-r--r--tests/resources/submod3/FoUr/file_to_modify3
-rw-r--r--tests/resources/submod3/One/.gitted1
-rw-r--r--tests/resources/submod3/One/README.txt3
-rw-r--r--tests/resources/submod3/One/file_to_modify3
-rw-r--r--tests/resources/submod3/TEN/.gitted1
-rw-r--r--tests/resources/submod3/TEN/README.txt3
-rw-r--r--tests/resources/submod3/TEN/file_to_modify3
-rw-r--r--tests/resources/submod3/TWO/.gitted1
-rw-r--r--tests/resources/submod3/TWO/README.txt3
-rw-r--r--tests/resources/submod3/TWO/file_to_modify3
-rw-r--r--tests/resources/submod3/gitmodules30
-rw-r--r--tests/resources/submod3/nine/.gitted1
-rw-r--r--tests/resources/submod3/nine/README.txt3
-rw-r--r--tests/resources/submod3/nine/file_to_modify3
-rw-r--r--tests/resources/submod3/sEvEn/.gitted1
-rw-r--r--tests/resources/submod3/sEvEn/README.txt3
-rw-r--r--tests/resources/submod3/sEvEn/file_to_modify3
-rw-r--r--tests/resources/submod3/six/.gitted1
-rw-r--r--tests/resources/submod3/six/README.txt3
-rw-r--r--tests/resources/submod3/six/file_to_modify3
-rw-r--r--tests/resources/submod3/three/.gitted1
-rw-r--r--tests/resources/submod3/three/README.txt3
-rw-r--r--tests/resources/submod3/three/file_to_modify3
-rw-r--r--tests/status/submodules.c37
-rw-r--r--tests/submodule/submodule_helpers.c26
-rw-r--r--tests/submodule/submodule_helpers.h1
231 files changed, 423 insertions, 1 deletions
diff --git a/src/iterator.c b/src/iterator.c
index cec5a3dd9..60b33cc70 100644
--- a/src/iterator.c
+++ b/src/iterator.c
@@ -34,7 +34,7 @@ static void iterator_set_ignore_case(git_iterator *iter, bool ignore_case)
iter->strcomp = ignore_case ? git__strcasecmp : git__strcmp;
iter->strncomp = ignore_case ? git__strncasecmp : git__strncmp;
iter->prefixcomp = ignore_case ? git__prefixcmp_icase : git__prefixcmp;
- iter->entry_srch = ignore_case ? git_index_entry_srch : git_index_entry_isrch;
+ iter->entry_srch = ignore_case ? git_index_entry_isrch : git_index_entry_srch;
git_vector_set_cmp(&iter->pathlist, (git_vector_cmp)iter->strcomp);
}
diff --git a/tests/resources/submod3/.gitted/HEAD b/tests/resources/submod3/.gitted/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/tests/resources/submod3/.gitted/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/tests/resources/submod3/.gitted/config b/tests/resources/submod3/.gitted/config
new file mode 100644
index 000000000..51fbbe981
--- /dev/null
+++ b/tests/resources/submod3/.gitted/config
@@ -0,0 +1,25 @@
+[core]
+ repositoryformatversion = 0
+ filemode = true
+ bare = false
+ logallrefupdates = true
+[submodule "One"]
+ url = ../submod2_target
+[submodule "TWO"]
+ url = ../submod2_target
+[submodule "three"]
+ url = ../submod2_target
+[submodule "FoUr"]
+ url = ../submod2_target
+[submodule "Five"]
+ url = ../submod2_target
+[submodule "six"]
+ url = ../submod2_target
+[submodule "sEvEn"]
+ url = ../submod2_target
+[submodule "EIGHT"]
+ url = ../submod2_target
+[submodule "nine"]
+ url = ../submod2_target
+[submodule "TEN"]
+ url = ../submod2_target
diff --git a/tests/resources/submod3/.gitted/index b/tests/resources/submod3/.gitted/index
new file mode 100644
index 000000000..fc688e264
--- /dev/null
+++ b/tests/resources/submod3/.gitted/index
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/HEAD b/tests/resources/submod3/.gitted/modules/EIGHT/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/config b/tests/resources/submod3/.gitted/modules/EIGHT/config
new file mode 100755
index 000000000..c95068ad7
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/config
@@ -0,0 +1,12 @@
+[core]
+ repositoryformatversion = 0
+ filemode = true
+ bare = false
+ logallrefupdates = true
+ worktree = ../../../EIGHT
+[remote "origin"]
+ url = /tmp/libgit2_tests_5hR8uP/submod2_target
+ fetch = +refs/heads/*:refs/remotes/origin/*
+[branch "master"]
+ remote = origin
+ merge = refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/index b/tests/resources/submod3/.gitted/modules/EIGHT/index
new file mode 100644
index 000000000..4217b3fb9
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/index
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1 b/tests/resources/submod3/.gitted/modules/EIGHT/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
new file mode 100644
index 000000000..f4b7094c5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484 b/tests/resources/submod3/.gitted/modules/EIGHT/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
new file mode 100644
index 000000000..56c845e49
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5 b/tests/resources/submod3/.gitted/modules/EIGHT/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
new file mode 100644
index 000000000..bd179b5f5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/objects/41/bd4bc3df978de695f67ace64c560913da11653 b/tests/resources/submod3/.gitted/modules/EIGHT/objects/41/bd4bc3df978de695f67ace64c560913da11653
new file mode 100644
index 000000000..ccf49bd15
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/objects/41/bd4bc3df978de695f67ace64c560913da11653
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/objects/48/0095882d281ed676fe5b863569520e54a7d5c0 b/tests/resources/submod3/.gitted/modules/EIGHT/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
new file mode 100644
index 000000000..53029069a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/objects/5e/4963595a9774b90524d35a807169049de8ccad b/tests/resources/submod3/.gitted/modules/EIGHT/objects/5e/4963595a9774b90524d35a807169049de8ccad
new file mode 100644
index 000000000..38c791eba
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/objects/5e/4963595a9774b90524d35a807169049de8ccad
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/objects/6b/31c659545507c381e9cd34ec508f16c04e149e b/tests/resources/submod3/.gitted/modules/EIGHT/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
new file mode 100644
index 000000000..a26d29993
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
@@ -0,0 +1,2 @@
+xQ
+!Evoy*_@g#hOh^9wSòf1*[Ic Ԥpk Α\S߇l@.^QpF(:D5zr~ en8 \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/objects/73/ba924a80437097795ae839e66e187c55d3babf b/tests/resources/submod3/.gitted/modules/EIGHT/objects/73/ba924a80437097795ae839e66e187c55d3babf
new file mode 100644
index 000000000..83d1ba481
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/objects/73/ba924a80437097795ae839e66e187c55d3babf
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a b/tests/resources/submod3/.gitted/modules/EIGHT/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
new file mode 100644
index 000000000..6d27af8a8
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
@@ -0,0 +1,2 @@
+x-10 Fa0p(N-ӡғq]>ks*? |m“i@mV'`).-1 x
+uxt(+ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/objects/78/9efbdadaa4a582778d4584385495559ea0994b b/tests/resources/submod3/.gitted/modules/EIGHT/objects/78/9efbdadaa4a582778d4584385495559ea0994b
new file mode 100644
index 000000000..17458840b
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/objects/78/9efbdadaa4a582778d4584385495559ea0994b
@@ -0,0 +1,2 @@
+x 0 )?= NlOkj8&r
+qJW7B<fK8#Q1C-"e̫>'@ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e b/tests/resources/submod3/.gitted/modules/EIGHT/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
new file mode 100644
index 000000000..83cc29fb1
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5 b/tests/resources/submod3/.gitted/modules/EIGHT/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
new file mode 100644
index 000000000..55bda40ef
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/packed-refs b/tests/resources/submod3/.gitted/modules/EIGHT/packed-refs
new file mode 100644
index 000000000..def303a5f
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/packed-refs
@@ -0,0 +1,2 @@
+# pack-refs with: peeled fully-peeled
+480095882d281ed676fe5b863569520e54a7d5c0 refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/refs/heads/master b/tests/resources/submod3/.gitted/modules/EIGHT/refs/heads/master
new file mode 100644
index 000000000..e12c44d7a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/refs/heads/master
@@ -0,0 +1 @@
+480095882d281ed676fe5b863569520e54a7d5c0
diff --git a/tests/resources/submod3/.gitted/modules/EIGHT/refs/remotes/origin/HEAD b/tests/resources/submod3/.gitted/modules/EIGHT/refs/remotes/origin/HEAD
new file mode 100644
index 000000000..6efe28fff
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/EIGHT/refs/remotes/origin/HEAD
@@ -0,0 +1 @@
+ref: refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/Five/HEAD b/tests/resources/submod3/.gitted/modules/Five/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/Five/config b/tests/resources/submod3/.gitted/modules/Five/config
new file mode 100755
index 000000000..18259e810
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/config
@@ -0,0 +1,12 @@
+[core]
+ repositoryformatversion = 0
+ filemode = true
+ bare = false
+ logallrefupdates = true
+ worktree = ../../../Five
+[remote "origin"]
+ url = /tmp/libgit2_tests_5hR8uP/submod2_target
+ fetch = +refs/heads/*:refs/remotes/origin/*
+[branch "master"]
+ remote = origin
+ merge = refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/Five/index b/tests/resources/submod3/.gitted/modules/Five/index
new file mode 100644
index 000000000..bd356c824
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/index
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/Five/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1 b/tests/resources/submod3/.gitted/modules/Five/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
new file mode 100644
index 000000000..f4b7094c5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/Five/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484 b/tests/resources/submod3/.gitted/modules/Five/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
new file mode 100644
index 000000000..56c845e49
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/Five/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5 b/tests/resources/submod3/.gitted/modules/Five/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
new file mode 100644
index 000000000..bd179b5f5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/Five/objects/41/bd4bc3df978de695f67ace64c560913da11653 b/tests/resources/submod3/.gitted/modules/Five/objects/41/bd4bc3df978de695f67ace64c560913da11653
new file mode 100644
index 000000000..ccf49bd15
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/objects/41/bd4bc3df978de695f67ace64c560913da11653
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/Five/objects/48/0095882d281ed676fe5b863569520e54a7d5c0 b/tests/resources/submod3/.gitted/modules/Five/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
new file mode 100644
index 000000000..53029069a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/Five/objects/5e/4963595a9774b90524d35a807169049de8ccad b/tests/resources/submod3/.gitted/modules/Five/objects/5e/4963595a9774b90524d35a807169049de8ccad
new file mode 100644
index 000000000..38c791eba
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/objects/5e/4963595a9774b90524d35a807169049de8ccad
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/Five/objects/6b/31c659545507c381e9cd34ec508f16c04e149e b/tests/resources/submod3/.gitted/modules/Five/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
new file mode 100644
index 000000000..a26d29993
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
@@ -0,0 +1,2 @@
+xQ
+!Evoy*_@g#hOh^9wSòf1*[Ic Ԥpk Α\S߇l@.^QpF(:D5zr~ en8 \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/Five/objects/73/ba924a80437097795ae839e66e187c55d3babf b/tests/resources/submod3/.gitted/modules/Five/objects/73/ba924a80437097795ae839e66e187c55d3babf
new file mode 100644
index 000000000..83d1ba481
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/objects/73/ba924a80437097795ae839e66e187c55d3babf
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/Five/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a b/tests/resources/submod3/.gitted/modules/Five/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
new file mode 100644
index 000000000..6d27af8a8
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
@@ -0,0 +1,2 @@
+x-10 Fa0p(N-ӡғq]>ks*? |m“i@mV'`).-1 x
+uxt(+ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/Five/objects/78/9efbdadaa4a582778d4584385495559ea0994b b/tests/resources/submod3/.gitted/modules/Five/objects/78/9efbdadaa4a582778d4584385495559ea0994b
new file mode 100644
index 000000000..17458840b
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/objects/78/9efbdadaa4a582778d4584385495559ea0994b
@@ -0,0 +1,2 @@
+x 0 )?= NlOkj8&r
+qJW7B<fK8#Q1C-"e̫>'@ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/Five/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e b/tests/resources/submod3/.gitted/modules/Five/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
new file mode 100644
index 000000000..83cc29fb1
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/Five/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5 b/tests/resources/submod3/.gitted/modules/Five/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
new file mode 100644
index 000000000..55bda40ef
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/Five/packed-refs b/tests/resources/submod3/.gitted/modules/Five/packed-refs
new file mode 100644
index 000000000..def303a5f
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/packed-refs
@@ -0,0 +1,2 @@
+# pack-refs with: peeled fully-peeled
+480095882d281ed676fe5b863569520e54a7d5c0 refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/Five/refs/heads/master b/tests/resources/submod3/.gitted/modules/Five/refs/heads/master
new file mode 100644
index 000000000..e12c44d7a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/refs/heads/master
@@ -0,0 +1 @@
+480095882d281ed676fe5b863569520e54a7d5c0
diff --git a/tests/resources/submod3/.gitted/modules/Five/refs/remotes/origin/HEAD b/tests/resources/submod3/.gitted/modules/Five/refs/remotes/origin/HEAD
new file mode 100644
index 000000000..6efe28fff
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/Five/refs/remotes/origin/HEAD
@@ -0,0 +1 @@
+ref: refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/HEAD b/tests/resources/submod3/.gitted/modules/FoUr/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/config b/tests/resources/submod3/.gitted/modules/FoUr/config
new file mode 100755
index 000000000..8e41a32a7
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/config
@@ -0,0 +1,12 @@
+[core]
+ repositoryformatversion = 0
+ filemode = true
+ bare = false
+ logallrefupdates = true
+ worktree = ../../../FoUr
+[remote "origin"]
+ url = /tmp/libgit2_tests_5hR8uP/submod2_target
+ fetch = +refs/heads/*:refs/remotes/origin/*
+[branch "master"]
+ remote = origin
+ merge = refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/index b/tests/resources/submod3/.gitted/modules/FoUr/index
new file mode 100644
index 000000000..bfc441bb3
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/index
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1 b/tests/resources/submod3/.gitted/modules/FoUr/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
new file mode 100644
index 000000000..f4b7094c5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484 b/tests/resources/submod3/.gitted/modules/FoUr/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
new file mode 100644
index 000000000..56c845e49
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5 b/tests/resources/submod3/.gitted/modules/FoUr/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
new file mode 100644
index 000000000..bd179b5f5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/objects/41/bd4bc3df978de695f67ace64c560913da11653 b/tests/resources/submod3/.gitted/modules/FoUr/objects/41/bd4bc3df978de695f67ace64c560913da11653
new file mode 100644
index 000000000..ccf49bd15
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/objects/41/bd4bc3df978de695f67ace64c560913da11653
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/objects/48/0095882d281ed676fe5b863569520e54a7d5c0 b/tests/resources/submod3/.gitted/modules/FoUr/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
new file mode 100644
index 000000000..53029069a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/objects/5e/4963595a9774b90524d35a807169049de8ccad b/tests/resources/submod3/.gitted/modules/FoUr/objects/5e/4963595a9774b90524d35a807169049de8ccad
new file mode 100644
index 000000000..38c791eba
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/objects/5e/4963595a9774b90524d35a807169049de8ccad
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/objects/6b/31c659545507c381e9cd34ec508f16c04e149e b/tests/resources/submod3/.gitted/modules/FoUr/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
new file mode 100644
index 000000000..a26d29993
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
@@ -0,0 +1,2 @@
+xQ
+!Evoy*_@g#hOh^9wSòf1*[Ic Ԥpk Α\S߇l@.^QpF(:D5zr~ en8 \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/objects/73/ba924a80437097795ae839e66e187c55d3babf b/tests/resources/submod3/.gitted/modules/FoUr/objects/73/ba924a80437097795ae839e66e187c55d3babf
new file mode 100644
index 000000000..83d1ba481
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/objects/73/ba924a80437097795ae839e66e187c55d3babf
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a b/tests/resources/submod3/.gitted/modules/FoUr/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
new file mode 100644
index 000000000..6d27af8a8
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
@@ -0,0 +1,2 @@
+x-10 Fa0p(N-ӡғq]>ks*? |m“i@mV'`).-1 x
+uxt(+ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/objects/78/9efbdadaa4a582778d4584385495559ea0994b b/tests/resources/submod3/.gitted/modules/FoUr/objects/78/9efbdadaa4a582778d4584385495559ea0994b
new file mode 100644
index 000000000..17458840b
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/objects/78/9efbdadaa4a582778d4584385495559ea0994b
@@ -0,0 +1,2 @@
+x 0 )?= NlOkj8&r
+qJW7B<fK8#Q1C-"e̫>'@ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e b/tests/resources/submod3/.gitted/modules/FoUr/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
new file mode 100644
index 000000000..83cc29fb1
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5 b/tests/resources/submod3/.gitted/modules/FoUr/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
new file mode 100644
index 000000000..55bda40ef
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/packed-refs b/tests/resources/submod3/.gitted/modules/FoUr/packed-refs
new file mode 100644
index 000000000..def303a5f
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/packed-refs
@@ -0,0 +1,2 @@
+# pack-refs with: peeled fully-peeled
+480095882d281ed676fe5b863569520e54a7d5c0 refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/refs/heads/master b/tests/resources/submod3/.gitted/modules/FoUr/refs/heads/master
new file mode 100644
index 000000000..e12c44d7a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/refs/heads/master
@@ -0,0 +1 @@
+480095882d281ed676fe5b863569520e54a7d5c0
diff --git a/tests/resources/submod3/.gitted/modules/FoUr/refs/remotes/origin/HEAD b/tests/resources/submod3/.gitted/modules/FoUr/refs/remotes/origin/HEAD
new file mode 100644
index 000000000..6efe28fff
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/FoUr/refs/remotes/origin/HEAD
@@ -0,0 +1 @@
+ref: refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/One/HEAD b/tests/resources/submod3/.gitted/modules/One/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/One/config b/tests/resources/submod3/.gitted/modules/One/config
new file mode 100755
index 000000000..303b86d4f
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/config
@@ -0,0 +1,12 @@
+[core]
+ repositoryformatversion = 0
+ filemode = true
+ bare = false
+ logallrefupdates = true
+ worktree = ../../../One
+[remote "origin"]
+ url = /tmp/libgit2_tests_5hR8uP/submod2_target
+ fetch = +refs/heads/*:refs/remotes/origin/*
+[branch "master"]
+ remote = origin
+ merge = refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/One/index b/tests/resources/submod3/.gitted/modules/One/index
new file mode 100644
index 000000000..2fa766b9d
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/index
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/One/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1 b/tests/resources/submod3/.gitted/modules/One/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
new file mode 100644
index 000000000..f4b7094c5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/One/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484 b/tests/resources/submod3/.gitted/modules/One/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
new file mode 100644
index 000000000..56c845e49
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/One/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5 b/tests/resources/submod3/.gitted/modules/One/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
new file mode 100644
index 000000000..bd179b5f5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/One/objects/41/bd4bc3df978de695f67ace64c560913da11653 b/tests/resources/submod3/.gitted/modules/One/objects/41/bd4bc3df978de695f67ace64c560913da11653
new file mode 100644
index 000000000..ccf49bd15
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/objects/41/bd4bc3df978de695f67ace64c560913da11653
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/One/objects/48/0095882d281ed676fe5b863569520e54a7d5c0 b/tests/resources/submod3/.gitted/modules/One/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
new file mode 100644
index 000000000..53029069a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/One/objects/5e/4963595a9774b90524d35a807169049de8ccad b/tests/resources/submod3/.gitted/modules/One/objects/5e/4963595a9774b90524d35a807169049de8ccad
new file mode 100644
index 000000000..38c791eba
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/objects/5e/4963595a9774b90524d35a807169049de8ccad
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/One/objects/6b/31c659545507c381e9cd34ec508f16c04e149e b/tests/resources/submod3/.gitted/modules/One/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
new file mode 100644
index 000000000..a26d29993
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
@@ -0,0 +1,2 @@
+xQ
+!Evoy*_@g#hOh^9wSòf1*[Ic Ԥpk Α\S߇l@.^QpF(:D5zr~ en8 \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/One/objects/73/ba924a80437097795ae839e66e187c55d3babf b/tests/resources/submod3/.gitted/modules/One/objects/73/ba924a80437097795ae839e66e187c55d3babf
new file mode 100644
index 000000000..83d1ba481
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/objects/73/ba924a80437097795ae839e66e187c55d3babf
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/One/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a b/tests/resources/submod3/.gitted/modules/One/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
new file mode 100644
index 000000000..6d27af8a8
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
@@ -0,0 +1,2 @@
+x-10 Fa0p(N-ӡғq]>ks*? |m“i@mV'`).-1 x
+uxt(+ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/One/objects/78/9efbdadaa4a582778d4584385495559ea0994b b/tests/resources/submod3/.gitted/modules/One/objects/78/9efbdadaa4a582778d4584385495559ea0994b
new file mode 100644
index 000000000..17458840b
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/objects/78/9efbdadaa4a582778d4584385495559ea0994b
@@ -0,0 +1,2 @@
+x 0 )?= NlOkj8&r
+qJW7B<fK8#Q1C-"e̫>'@ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/One/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e b/tests/resources/submod3/.gitted/modules/One/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
new file mode 100644
index 000000000..83cc29fb1
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/One/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5 b/tests/resources/submod3/.gitted/modules/One/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
new file mode 100644
index 000000000..55bda40ef
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/One/packed-refs b/tests/resources/submod3/.gitted/modules/One/packed-refs
new file mode 100644
index 000000000..def303a5f
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/packed-refs
@@ -0,0 +1,2 @@
+# pack-refs with: peeled fully-peeled
+480095882d281ed676fe5b863569520e54a7d5c0 refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/One/refs/heads/master b/tests/resources/submod3/.gitted/modules/One/refs/heads/master
new file mode 100644
index 000000000..e12c44d7a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/refs/heads/master
@@ -0,0 +1 @@
+480095882d281ed676fe5b863569520e54a7d5c0
diff --git a/tests/resources/submod3/.gitted/modules/One/refs/remotes/origin/HEAD b/tests/resources/submod3/.gitted/modules/One/refs/remotes/origin/HEAD
new file mode 100644
index 000000000..6efe28fff
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/One/refs/remotes/origin/HEAD
@@ -0,0 +1 @@
+ref: refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/TEN/HEAD b/tests/resources/submod3/.gitted/modules/TEN/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/TEN/config b/tests/resources/submod3/.gitted/modules/TEN/config
new file mode 100755
index 000000000..0c8328835
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/config
@@ -0,0 +1,12 @@
+[core]
+ repositoryformatversion = 0
+ filemode = true
+ bare = false
+ logallrefupdates = true
+ worktree = ../../../TEN
+[remote "origin"]
+ url = /tmp/libgit2_tests_5hR8uP/submod2_target
+ fetch = +refs/heads/*:refs/remotes/origin/*
+[branch "master"]
+ remote = origin
+ merge = refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/TEN/index b/tests/resources/submod3/.gitted/modules/TEN/index
new file mode 100644
index 000000000..202f0e27d
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/index
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TEN/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1 b/tests/resources/submod3/.gitted/modules/TEN/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
new file mode 100644
index 000000000..f4b7094c5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TEN/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484 b/tests/resources/submod3/.gitted/modules/TEN/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
new file mode 100644
index 000000000..56c845e49
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TEN/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5 b/tests/resources/submod3/.gitted/modules/TEN/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
new file mode 100644
index 000000000..bd179b5f5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TEN/objects/41/bd4bc3df978de695f67ace64c560913da11653 b/tests/resources/submod3/.gitted/modules/TEN/objects/41/bd4bc3df978de695f67ace64c560913da11653
new file mode 100644
index 000000000..ccf49bd15
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/objects/41/bd4bc3df978de695f67ace64c560913da11653
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TEN/objects/48/0095882d281ed676fe5b863569520e54a7d5c0 b/tests/resources/submod3/.gitted/modules/TEN/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
new file mode 100644
index 000000000..53029069a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TEN/objects/5e/4963595a9774b90524d35a807169049de8ccad b/tests/resources/submod3/.gitted/modules/TEN/objects/5e/4963595a9774b90524d35a807169049de8ccad
new file mode 100644
index 000000000..38c791eba
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/objects/5e/4963595a9774b90524d35a807169049de8ccad
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TEN/objects/6b/31c659545507c381e9cd34ec508f16c04e149e b/tests/resources/submod3/.gitted/modules/TEN/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
new file mode 100644
index 000000000..a26d29993
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
@@ -0,0 +1,2 @@
+xQ
+!Evoy*_@g#hOh^9wSòf1*[Ic Ԥpk Α\S߇l@.^QpF(:D5zr~ en8 \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/TEN/objects/73/ba924a80437097795ae839e66e187c55d3babf b/tests/resources/submod3/.gitted/modules/TEN/objects/73/ba924a80437097795ae839e66e187c55d3babf
new file mode 100644
index 000000000..83d1ba481
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/objects/73/ba924a80437097795ae839e66e187c55d3babf
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TEN/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a b/tests/resources/submod3/.gitted/modules/TEN/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
new file mode 100644
index 000000000..6d27af8a8
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
@@ -0,0 +1,2 @@
+x-10 Fa0p(N-ӡғq]>ks*? |m“i@mV'`).-1 x
+uxt(+ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/TEN/objects/78/9efbdadaa4a582778d4584385495559ea0994b b/tests/resources/submod3/.gitted/modules/TEN/objects/78/9efbdadaa4a582778d4584385495559ea0994b
new file mode 100644
index 000000000..17458840b
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/objects/78/9efbdadaa4a582778d4584385495559ea0994b
@@ -0,0 +1,2 @@
+x 0 )?= NlOkj8&r
+qJW7B<fK8#Q1C-"e̫>'@ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/TEN/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e b/tests/resources/submod3/.gitted/modules/TEN/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
new file mode 100644
index 000000000..83cc29fb1
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TEN/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5 b/tests/resources/submod3/.gitted/modules/TEN/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
new file mode 100644
index 000000000..55bda40ef
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TEN/packed-refs b/tests/resources/submod3/.gitted/modules/TEN/packed-refs
new file mode 100644
index 000000000..def303a5f
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/packed-refs
@@ -0,0 +1,2 @@
+# pack-refs with: peeled fully-peeled
+480095882d281ed676fe5b863569520e54a7d5c0 refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/TEN/refs/heads/master b/tests/resources/submod3/.gitted/modules/TEN/refs/heads/master
new file mode 100644
index 000000000..e12c44d7a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/refs/heads/master
@@ -0,0 +1 @@
+480095882d281ed676fe5b863569520e54a7d5c0
diff --git a/tests/resources/submod3/.gitted/modules/TEN/refs/remotes/origin/HEAD b/tests/resources/submod3/.gitted/modules/TEN/refs/remotes/origin/HEAD
new file mode 100644
index 000000000..6efe28fff
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TEN/refs/remotes/origin/HEAD
@@ -0,0 +1 @@
+ref: refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/TWO/HEAD b/tests/resources/submod3/.gitted/modules/TWO/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/TWO/config b/tests/resources/submod3/.gitted/modules/TWO/config
new file mode 100755
index 000000000..4d9022262
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/config
@@ -0,0 +1,12 @@
+[core]
+ repositoryformatversion = 0
+ filemode = true
+ bare = false
+ logallrefupdates = true
+ worktree = ../../../TWO
+[remote "origin"]
+ url = /tmp/libgit2_tests_5hR8uP/submod2_target
+ fetch = +refs/heads/*:refs/remotes/origin/*
+[branch "master"]
+ remote = origin
+ merge = refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/TWO/index b/tests/resources/submod3/.gitted/modules/TWO/index
new file mode 100644
index 000000000..42053137a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/index
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TWO/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1 b/tests/resources/submod3/.gitted/modules/TWO/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
new file mode 100644
index 000000000..f4b7094c5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TWO/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484 b/tests/resources/submod3/.gitted/modules/TWO/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
new file mode 100644
index 000000000..56c845e49
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TWO/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5 b/tests/resources/submod3/.gitted/modules/TWO/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
new file mode 100644
index 000000000..bd179b5f5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TWO/objects/41/bd4bc3df978de695f67ace64c560913da11653 b/tests/resources/submod3/.gitted/modules/TWO/objects/41/bd4bc3df978de695f67ace64c560913da11653
new file mode 100644
index 000000000..ccf49bd15
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/objects/41/bd4bc3df978de695f67ace64c560913da11653
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TWO/objects/48/0095882d281ed676fe5b863569520e54a7d5c0 b/tests/resources/submod3/.gitted/modules/TWO/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
new file mode 100644
index 000000000..53029069a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TWO/objects/5e/4963595a9774b90524d35a807169049de8ccad b/tests/resources/submod3/.gitted/modules/TWO/objects/5e/4963595a9774b90524d35a807169049de8ccad
new file mode 100644
index 000000000..38c791eba
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/objects/5e/4963595a9774b90524d35a807169049de8ccad
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TWO/objects/6b/31c659545507c381e9cd34ec508f16c04e149e b/tests/resources/submod3/.gitted/modules/TWO/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
new file mode 100644
index 000000000..a26d29993
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
@@ -0,0 +1,2 @@
+xQ
+!Evoy*_@g#hOh^9wSòf1*[Ic Ԥpk Α\S߇l@.^QpF(:D5zr~ en8 \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/TWO/objects/73/ba924a80437097795ae839e66e187c55d3babf b/tests/resources/submod3/.gitted/modules/TWO/objects/73/ba924a80437097795ae839e66e187c55d3babf
new file mode 100644
index 000000000..83d1ba481
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/objects/73/ba924a80437097795ae839e66e187c55d3babf
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TWO/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a b/tests/resources/submod3/.gitted/modules/TWO/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
new file mode 100644
index 000000000..6d27af8a8
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
@@ -0,0 +1,2 @@
+x-10 Fa0p(N-ӡғq]>ks*? |m“i@mV'`).-1 x
+uxt(+ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/TWO/objects/78/9efbdadaa4a582778d4584385495559ea0994b b/tests/resources/submod3/.gitted/modules/TWO/objects/78/9efbdadaa4a582778d4584385495559ea0994b
new file mode 100644
index 000000000..17458840b
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/objects/78/9efbdadaa4a582778d4584385495559ea0994b
@@ -0,0 +1,2 @@
+x 0 )?= NlOkj8&r
+qJW7B<fK8#Q1C-"e̫>'@ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/TWO/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e b/tests/resources/submod3/.gitted/modules/TWO/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
new file mode 100644
index 000000000..83cc29fb1
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TWO/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5 b/tests/resources/submod3/.gitted/modules/TWO/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
new file mode 100644
index 000000000..55bda40ef
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/TWO/packed-refs b/tests/resources/submod3/.gitted/modules/TWO/packed-refs
new file mode 100644
index 000000000..def303a5f
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/packed-refs
@@ -0,0 +1,2 @@
+# pack-refs with: peeled fully-peeled
+480095882d281ed676fe5b863569520e54a7d5c0 refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/TWO/refs/heads/master b/tests/resources/submod3/.gitted/modules/TWO/refs/heads/master
new file mode 100644
index 000000000..e12c44d7a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/refs/heads/master
@@ -0,0 +1 @@
+480095882d281ed676fe5b863569520e54a7d5c0
diff --git a/tests/resources/submod3/.gitted/modules/TWO/refs/remotes/origin/HEAD b/tests/resources/submod3/.gitted/modules/TWO/refs/remotes/origin/HEAD
new file mode 100644
index 000000000..6efe28fff
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/TWO/refs/remotes/origin/HEAD
@@ -0,0 +1 @@
+ref: refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/nine/HEAD b/tests/resources/submod3/.gitted/modules/nine/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/nine/config b/tests/resources/submod3/.gitted/modules/nine/config
new file mode 100755
index 000000000..7c73f8a6d
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/config
@@ -0,0 +1,12 @@
+[core]
+ repositoryformatversion = 0
+ filemode = true
+ bare = false
+ logallrefupdates = true
+ worktree = ../../../nine
+[remote "origin"]
+ url = /tmp/libgit2_tests_5hR8uP/submod2_target
+ fetch = +refs/heads/*:refs/remotes/origin/*
+[branch "master"]
+ remote = origin
+ merge = refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/nine/index b/tests/resources/submod3/.gitted/modules/nine/index
new file mode 100644
index 000000000..48e3e9e07
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/index
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/nine/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1 b/tests/resources/submod3/.gitted/modules/nine/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
new file mode 100644
index 000000000..f4b7094c5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/nine/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484 b/tests/resources/submod3/.gitted/modules/nine/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
new file mode 100644
index 000000000..56c845e49
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/nine/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5 b/tests/resources/submod3/.gitted/modules/nine/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
new file mode 100644
index 000000000..bd179b5f5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/nine/objects/41/bd4bc3df978de695f67ace64c560913da11653 b/tests/resources/submod3/.gitted/modules/nine/objects/41/bd4bc3df978de695f67ace64c560913da11653
new file mode 100644
index 000000000..ccf49bd15
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/objects/41/bd4bc3df978de695f67ace64c560913da11653
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/nine/objects/48/0095882d281ed676fe5b863569520e54a7d5c0 b/tests/resources/submod3/.gitted/modules/nine/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
new file mode 100644
index 000000000..53029069a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/nine/objects/5e/4963595a9774b90524d35a807169049de8ccad b/tests/resources/submod3/.gitted/modules/nine/objects/5e/4963595a9774b90524d35a807169049de8ccad
new file mode 100644
index 000000000..38c791eba
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/objects/5e/4963595a9774b90524d35a807169049de8ccad
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/nine/objects/6b/31c659545507c381e9cd34ec508f16c04e149e b/tests/resources/submod3/.gitted/modules/nine/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
new file mode 100644
index 000000000..a26d29993
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
@@ -0,0 +1,2 @@
+xQ
+!Evoy*_@g#hOh^9wSòf1*[Ic Ԥpk Α\S߇l@.^QpF(:D5zr~ en8 \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/nine/objects/73/ba924a80437097795ae839e66e187c55d3babf b/tests/resources/submod3/.gitted/modules/nine/objects/73/ba924a80437097795ae839e66e187c55d3babf
new file mode 100644
index 000000000..83d1ba481
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/objects/73/ba924a80437097795ae839e66e187c55d3babf
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/nine/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a b/tests/resources/submod3/.gitted/modules/nine/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
new file mode 100644
index 000000000..6d27af8a8
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
@@ -0,0 +1,2 @@
+x-10 Fa0p(N-ӡғq]>ks*? |m“i@mV'`).-1 x
+uxt(+ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/nine/objects/78/9efbdadaa4a582778d4584385495559ea0994b b/tests/resources/submod3/.gitted/modules/nine/objects/78/9efbdadaa4a582778d4584385495559ea0994b
new file mode 100644
index 000000000..17458840b
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/objects/78/9efbdadaa4a582778d4584385495559ea0994b
@@ -0,0 +1,2 @@
+x 0 )?= NlOkj8&r
+qJW7B<fK8#Q1C-"e̫>'@ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/nine/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e b/tests/resources/submod3/.gitted/modules/nine/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
new file mode 100644
index 000000000..83cc29fb1
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/nine/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5 b/tests/resources/submod3/.gitted/modules/nine/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
new file mode 100644
index 000000000..55bda40ef
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/nine/packed-refs b/tests/resources/submod3/.gitted/modules/nine/packed-refs
new file mode 100644
index 000000000..def303a5f
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/packed-refs
@@ -0,0 +1,2 @@
+# pack-refs with: peeled fully-peeled
+480095882d281ed676fe5b863569520e54a7d5c0 refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/nine/refs/heads/master b/tests/resources/submod3/.gitted/modules/nine/refs/heads/master
new file mode 100644
index 000000000..e12c44d7a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/refs/heads/master
@@ -0,0 +1 @@
+480095882d281ed676fe5b863569520e54a7d5c0
diff --git a/tests/resources/submod3/.gitted/modules/nine/refs/remotes/origin/HEAD b/tests/resources/submod3/.gitted/modules/nine/refs/remotes/origin/HEAD
new file mode 100644
index 000000000..6efe28fff
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/nine/refs/remotes/origin/HEAD
@@ -0,0 +1 @@
+ref: refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/HEAD b/tests/resources/submod3/.gitted/modules/sEvEn/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/config b/tests/resources/submod3/.gitted/modules/sEvEn/config
new file mode 100755
index 000000000..1ef3be7d5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/config
@@ -0,0 +1,12 @@
+[core]
+ repositoryformatversion = 0
+ filemode = true
+ bare = false
+ logallrefupdates = true
+ worktree = ../../../sEvEn
+[remote "origin"]
+ url = /tmp/libgit2_tests_5hR8uP/submod2_target
+ fetch = +refs/heads/*:refs/remotes/origin/*
+[branch "master"]
+ remote = origin
+ merge = refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/index b/tests/resources/submod3/.gitted/modules/sEvEn/index
new file mode 100644
index 000000000..0a3a842e3
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/index
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1 b/tests/resources/submod3/.gitted/modules/sEvEn/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
new file mode 100644
index 000000000..f4b7094c5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484 b/tests/resources/submod3/.gitted/modules/sEvEn/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
new file mode 100644
index 000000000..56c845e49
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5 b/tests/resources/submod3/.gitted/modules/sEvEn/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
new file mode 100644
index 000000000..bd179b5f5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/objects/41/bd4bc3df978de695f67ace64c560913da11653 b/tests/resources/submod3/.gitted/modules/sEvEn/objects/41/bd4bc3df978de695f67ace64c560913da11653
new file mode 100644
index 000000000..ccf49bd15
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/objects/41/bd4bc3df978de695f67ace64c560913da11653
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/objects/48/0095882d281ed676fe5b863569520e54a7d5c0 b/tests/resources/submod3/.gitted/modules/sEvEn/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
new file mode 100644
index 000000000..53029069a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/objects/5e/4963595a9774b90524d35a807169049de8ccad b/tests/resources/submod3/.gitted/modules/sEvEn/objects/5e/4963595a9774b90524d35a807169049de8ccad
new file mode 100644
index 000000000..38c791eba
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/objects/5e/4963595a9774b90524d35a807169049de8ccad
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/objects/6b/31c659545507c381e9cd34ec508f16c04e149e b/tests/resources/submod3/.gitted/modules/sEvEn/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
new file mode 100644
index 000000000..a26d29993
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
@@ -0,0 +1,2 @@
+xQ
+!Evoy*_@g#hOh^9wSòf1*[Ic Ԥpk Α\S߇l@.^QpF(:D5zr~ en8 \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/objects/73/ba924a80437097795ae839e66e187c55d3babf b/tests/resources/submod3/.gitted/modules/sEvEn/objects/73/ba924a80437097795ae839e66e187c55d3babf
new file mode 100644
index 000000000..83d1ba481
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/objects/73/ba924a80437097795ae839e66e187c55d3babf
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a b/tests/resources/submod3/.gitted/modules/sEvEn/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
new file mode 100644
index 000000000..6d27af8a8
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
@@ -0,0 +1,2 @@
+x-10 Fa0p(N-ӡғq]>ks*? |m“i@mV'`).-1 x
+uxt(+ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/objects/78/9efbdadaa4a582778d4584385495559ea0994b b/tests/resources/submod3/.gitted/modules/sEvEn/objects/78/9efbdadaa4a582778d4584385495559ea0994b
new file mode 100644
index 000000000..17458840b
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/objects/78/9efbdadaa4a582778d4584385495559ea0994b
@@ -0,0 +1,2 @@
+x 0 )?= NlOkj8&r
+qJW7B<fK8#Q1C-"e̫>'@ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e b/tests/resources/submod3/.gitted/modules/sEvEn/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
new file mode 100644
index 000000000..83cc29fb1
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5 b/tests/resources/submod3/.gitted/modules/sEvEn/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
new file mode 100644
index 000000000..55bda40ef
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/packed-refs b/tests/resources/submod3/.gitted/modules/sEvEn/packed-refs
new file mode 100644
index 000000000..def303a5f
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/packed-refs
@@ -0,0 +1,2 @@
+# pack-refs with: peeled fully-peeled
+480095882d281ed676fe5b863569520e54a7d5c0 refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/refs/heads/master b/tests/resources/submod3/.gitted/modules/sEvEn/refs/heads/master
new file mode 100644
index 000000000..e12c44d7a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/refs/heads/master
@@ -0,0 +1 @@
+480095882d281ed676fe5b863569520e54a7d5c0
diff --git a/tests/resources/submod3/.gitted/modules/sEvEn/refs/remotes/origin/HEAD b/tests/resources/submod3/.gitted/modules/sEvEn/refs/remotes/origin/HEAD
new file mode 100644
index 000000000..6efe28fff
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/sEvEn/refs/remotes/origin/HEAD
@@ -0,0 +1 @@
+ref: refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/six/HEAD b/tests/resources/submod3/.gitted/modules/six/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/six/config b/tests/resources/submod3/.gitted/modules/six/config
new file mode 100755
index 000000000..4296e81a4
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/config
@@ -0,0 +1,12 @@
+[core]
+ repositoryformatversion = 0
+ filemode = true
+ bare = false
+ logallrefupdates = true
+ worktree = ../../../six
+[remote "origin"]
+ url = /tmp/libgit2_tests_5hR8uP/submod2_target
+ fetch = +refs/heads/*:refs/remotes/origin/*
+[branch "master"]
+ remote = origin
+ merge = refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/six/index b/tests/resources/submod3/.gitted/modules/six/index
new file mode 100644
index 000000000..fbd09fde6
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/index
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/six/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1 b/tests/resources/submod3/.gitted/modules/six/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
new file mode 100644
index 000000000..f4b7094c5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/six/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484 b/tests/resources/submod3/.gitted/modules/six/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
new file mode 100644
index 000000000..56c845e49
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/six/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5 b/tests/resources/submod3/.gitted/modules/six/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
new file mode 100644
index 000000000..bd179b5f5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/six/objects/41/bd4bc3df978de695f67ace64c560913da11653 b/tests/resources/submod3/.gitted/modules/six/objects/41/bd4bc3df978de695f67ace64c560913da11653
new file mode 100644
index 000000000..ccf49bd15
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/objects/41/bd4bc3df978de695f67ace64c560913da11653
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/six/objects/48/0095882d281ed676fe5b863569520e54a7d5c0 b/tests/resources/submod3/.gitted/modules/six/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
new file mode 100644
index 000000000..53029069a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/six/objects/5e/4963595a9774b90524d35a807169049de8ccad b/tests/resources/submod3/.gitted/modules/six/objects/5e/4963595a9774b90524d35a807169049de8ccad
new file mode 100644
index 000000000..38c791eba
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/objects/5e/4963595a9774b90524d35a807169049de8ccad
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/six/objects/6b/31c659545507c381e9cd34ec508f16c04e149e b/tests/resources/submod3/.gitted/modules/six/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
new file mode 100644
index 000000000..a26d29993
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
@@ -0,0 +1,2 @@
+xQ
+!Evoy*_@g#hOh^9wSòf1*[Ic Ԥpk Α\S߇l@.^QpF(:D5zr~ en8 \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/six/objects/73/ba924a80437097795ae839e66e187c55d3babf b/tests/resources/submod3/.gitted/modules/six/objects/73/ba924a80437097795ae839e66e187c55d3babf
new file mode 100644
index 000000000..83d1ba481
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/objects/73/ba924a80437097795ae839e66e187c55d3babf
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/six/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a b/tests/resources/submod3/.gitted/modules/six/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
new file mode 100644
index 000000000..6d27af8a8
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
@@ -0,0 +1,2 @@
+x-10 Fa0p(N-ӡғq]>ks*? |m“i@mV'`).-1 x
+uxt(+ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/six/objects/78/9efbdadaa4a582778d4584385495559ea0994b b/tests/resources/submod3/.gitted/modules/six/objects/78/9efbdadaa4a582778d4584385495559ea0994b
new file mode 100644
index 000000000..17458840b
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/objects/78/9efbdadaa4a582778d4584385495559ea0994b
@@ -0,0 +1,2 @@
+x 0 )?= NlOkj8&r
+qJW7B<fK8#Q1C-"e̫>'@ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/six/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e b/tests/resources/submod3/.gitted/modules/six/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
new file mode 100644
index 000000000..83cc29fb1
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/six/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5 b/tests/resources/submod3/.gitted/modules/six/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
new file mode 100644
index 000000000..55bda40ef
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/six/packed-refs b/tests/resources/submod3/.gitted/modules/six/packed-refs
new file mode 100644
index 000000000..def303a5f
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/packed-refs
@@ -0,0 +1,2 @@
+# pack-refs with: peeled fully-peeled
+480095882d281ed676fe5b863569520e54a7d5c0 refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/six/refs/heads/master b/tests/resources/submod3/.gitted/modules/six/refs/heads/master
new file mode 100644
index 000000000..e12c44d7a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/refs/heads/master
@@ -0,0 +1 @@
+480095882d281ed676fe5b863569520e54a7d5c0
diff --git a/tests/resources/submod3/.gitted/modules/six/refs/remotes/origin/HEAD b/tests/resources/submod3/.gitted/modules/six/refs/remotes/origin/HEAD
new file mode 100644
index 000000000..6efe28fff
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/six/refs/remotes/origin/HEAD
@@ -0,0 +1 @@
+ref: refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/three/HEAD b/tests/resources/submod3/.gitted/modules/three/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/three/config b/tests/resources/submod3/.gitted/modules/three/config
new file mode 100755
index 000000000..ba5c9663e
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/config
@@ -0,0 +1,12 @@
+[core]
+ repositoryformatversion = 0
+ filemode = true
+ bare = false
+ logallrefupdates = true
+ worktree = ../../../three
+[remote "origin"]
+ url = /tmp/libgit2_tests_5hR8uP/submod2_target
+ fetch = +refs/heads/*:refs/remotes/origin/*
+[branch "master"]
+ remote = origin
+ merge = refs/heads/master
diff --git a/tests/resources/submod3/.gitted/modules/three/index b/tests/resources/submod3/.gitted/modules/three/index
new file mode 100644
index 000000000..ec4a944e0
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/index
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/three/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1 b/tests/resources/submod3/.gitted/modules/three/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
new file mode 100644
index 000000000..f4b7094c5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/objects/06/362fe2fdb7010d0e447b4fb450d405420479a1
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/three/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484 b/tests/resources/submod3/.gitted/modules/three/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
new file mode 100644
index 000000000..56c845e49
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/objects/0e/6a3ca48bd47cfe67681acf39aa0b10a0b92484
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/three/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5 b/tests/resources/submod3/.gitted/modules/three/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
new file mode 100644
index 000000000..bd179b5f5
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/objects/17/d0ece6e96460a06592d9d9d000de37ba4232c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/three/objects/41/bd4bc3df978de695f67ace64c560913da11653 b/tests/resources/submod3/.gitted/modules/three/objects/41/bd4bc3df978de695f67ace64c560913da11653
new file mode 100644
index 000000000..ccf49bd15
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/objects/41/bd4bc3df978de695f67ace64c560913da11653
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/three/objects/48/0095882d281ed676fe5b863569520e54a7d5c0 b/tests/resources/submod3/.gitted/modules/three/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
new file mode 100644
index 000000000..53029069a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/objects/48/0095882d281ed676fe5b863569520e54a7d5c0
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/three/objects/5e/4963595a9774b90524d35a807169049de8ccad b/tests/resources/submod3/.gitted/modules/three/objects/5e/4963595a9774b90524d35a807169049de8ccad
new file mode 100644
index 000000000..38c791eba
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/objects/5e/4963595a9774b90524d35a807169049de8ccad
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/three/objects/6b/31c659545507c381e9cd34ec508f16c04e149e b/tests/resources/submod3/.gitted/modules/three/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
new file mode 100644
index 000000000..a26d29993
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/objects/6b/31c659545507c381e9cd34ec508f16c04e149e
@@ -0,0 +1,2 @@
+xQ
+!Evoy*_@g#hOh^9wSòf1*[Ic Ԥpk Α\S߇l@.^QpF(:D5zr~ en8 \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/three/objects/73/ba924a80437097795ae839e66e187c55d3babf b/tests/resources/submod3/.gitted/modules/three/objects/73/ba924a80437097795ae839e66e187c55d3babf
new file mode 100644
index 000000000..83d1ba481
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/objects/73/ba924a80437097795ae839e66e187c55d3babf
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/three/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a b/tests/resources/submod3/.gitted/modules/three/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
new file mode 100644
index 000000000..6d27af8a8
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/objects/78/0d7397f5e8f8f477fb55b7af3accc2154b2d4a
@@ -0,0 +1,2 @@
+x-10 Fa0p(N-ӡғq]>ks*? |m“i@mV'`).-1 x
+uxt(+ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/three/objects/78/9efbdadaa4a582778d4584385495559ea0994b b/tests/resources/submod3/.gitted/modules/three/objects/78/9efbdadaa4a582778d4584385495559ea0994b
new file mode 100644
index 000000000..17458840b
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/objects/78/9efbdadaa4a582778d4584385495559ea0994b
@@ -0,0 +1,2 @@
+x 0 )?= NlOkj8&r
+qJW7B<fK8#Q1C-"e̫>'@ \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/modules/three/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e b/tests/resources/submod3/.gitted/modules/three/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
new file mode 100644
index 000000000..83cc29fb1
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/objects/88/34b635dd468a83cb012f6feace968c1c9f5d6e
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/three/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5 b/tests/resources/submod3/.gitted/modules/three/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
new file mode 100644
index 000000000..55bda40ef
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/objects/d0/5f2cd5cc77addf68ed6f50d622c9a4f732e6c5
Binary files differ
diff --git a/tests/resources/submod3/.gitted/modules/three/packed-refs b/tests/resources/submod3/.gitted/modules/three/packed-refs
new file mode 100644
index 000000000..def303a5f
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/packed-refs
@@ -0,0 +1,2 @@
+# pack-refs with: peeled fully-peeled
+480095882d281ed676fe5b863569520e54a7d5c0 refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/modules/three/refs/heads/master b/tests/resources/submod3/.gitted/modules/three/refs/heads/master
new file mode 100644
index 000000000..e12c44d7a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/refs/heads/master
@@ -0,0 +1 @@
+480095882d281ed676fe5b863569520e54a7d5c0
diff --git a/tests/resources/submod3/.gitted/modules/three/refs/remotes/origin/HEAD b/tests/resources/submod3/.gitted/modules/three/refs/remotes/origin/HEAD
new file mode 100644
index 000000000..6efe28fff
--- /dev/null
+++ b/tests/resources/submod3/.gitted/modules/three/refs/remotes/origin/HEAD
@@ -0,0 +1 @@
+ref: refs/remotes/origin/master
diff --git a/tests/resources/submod3/.gitted/objects/0d/db6db2835a283823cd700a1d18f17b0ba6520d b/tests/resources/submod3/.gitted/objects/0d/db6db2835a283823cd700a1d18f17b0ba6520d
new file mode 100644
index 000000000..8f1c5ca31
--- /dev/null
+++ b/tests/resources/submod3/.gitted/objects/0d/db6db2835a283823cd700a1d18f17b0ba6520d
Binary files differ
diff --git a/tests/resources/submod3/.gitted/objects/0e/db4f085060fea212aecc25242d4c7685cdc01d b/tests/resources/submod3/.gitted/objects/0e/db4f085060fea212aecc25242d4c7685cdc01d
new file mode 100644
index 000000000..34179a45e
--- /dev/null
+++ b/tests/resources/submod3/.gitted/objects/0e/db4f085060fea212aecc25242d4c7685cdc01d
Binary files differ
diff --git a/tests/resources/submod3/.gitted/objects/33/61720a7115648e518342a6524b29cc627ea11a b/tests/resources/submod3/.gitted/objects/33/61720a7115648e518342a6524b29cc627ea11a
new file mode 100644
index 000000000..c09eabcc6
--- /dev/null
+++ b/tests/resources/submod3/.gitted/objects/33/61720a7115648e518342a6524b29cc627ea11a
Binary files differ
diff --git a/tests/resources/submod3/.gitted/objects/4f/6ea8092cb19f39e25cd1b21c061893b6ce17bd b/tests/resources/submod3/.gitted/objects/4f/6ea8092cb19f39e25cd1b21c061893b6ce17bd
new file mode 100644
index 000000000..cf653933a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/objects/4f/6ea8092cb19f39e25cd1b21c061893b6ce17bd
Binary files differ
diff --git a/tests/resources/submod3/.gitted/objects/5b/6f93e4846d705ee2daa5d60348e7fc1c6715ed b/tests/resources/submod3/.gitted/objects/5b/6f93e4846d705ee2daa5d60348e7fc1c6715ed
new file mode 100644
index 000000000..591d4b804
--- /dev/null
+++ b/tests/resources/submod3/.gitted/objects/5b/6f93e4846d705ee2daa5d60348e7fc1c6715ed
Binary files differ
diff --git a/tests/resources/submod3/.gitted/objects/6e/7201a58feeaa462ac9f545928fe0b961ad9495 b/tests/resources/submod3/.gitted/objects/6e/7201a58feeaa462ac9f545928fe0b961ad9495
new file mode 100644
index 000000000..a5dc38e35
--- /dev/null
+++ b/tests/resources/submod3/.gitted/objects/6e/7201a58feeaa462ac9f545928fe0b961ad9495
Binary files differ
diff --git a/tests/resources/submod3/.gitted/objects/6f/b39bdc90378a0a9a05a127da035e560ced3900 b/tests/resources/submod3/.gitted/objects/6f/b39bdc90378a0a9a05a127da035e560ced3900
new file mode 100644
index 000000000..315e3b831
--- /dev/null
+++ b/tests/resources/submod3/.gitted/objects/6f/b39bdc90378a0a9a05a127da035e560ced3900
Binary files differ
diff --git a/tests/resources/submod3/.gitted/objects/90/459b51713bde15eb97852ff22c29270752b432 b/tests/resources/submod3/.gitted/objects/90/459b51713bde15eb97852ff22c29270752b432
new file mode 100644
index 000000000..3a2c99cc7
--- /dev/null
+++ b/tests/resources/submod3/.gitted/objects/90/459b51713bde15eb97852ff22c29270752b432
@@ -0,0 +1 @@
+x !E=S4p%1Ƌ,&$,Jk=ѡUpr1N39/7[ŽR?\#<S{*S(zlՠɿu% ZJ< \ No newline at end of file
diff --git a/tests/resources/submod3/.gitted/objects/d0/ea28557a5f50013ac72938bc285c2d8572e50d b/tests/resources/submod3/.gitted/objects/d0/ea28557a5f50013ac72938bc285c2d8572e50d
new file mode 100644
index 000000000..9b45f5cbd
--- /dev/null
+++ b/tests/resources/submod3/.gitted/objects/d0/ea28557a5f50013ac72938bc285c2d8572e50d
Binary files differ
diff --git a/tests/resources/submod3/.gitted/objects/d0/fe2af38ea8925d5b4982b56354ca17816b7e11 b/tests/resources/submod3/.gitted/objects/d0/fe2af38ea8925d5b4982b56354ca17816b7e11
new file mode 100644
index 000000000..4907b202a
--- /dev/null
+++ b/tests/resources/submod3/.gitted/objects/d0/fe2af38ea8925d5b4982b56354ca17816b7e11
Binary files differ
diff --git a/tests/resources/submod3/.gitted/objects/e6/4b5c9e517bbb34962611400cde683690e56aa8 b/tests/resources/submod3/.gitted/objects/e6/4b5c9e517bbb34962611400cde683690e56aa8
new file mode 100644
index 000000000..701584771
--- /dev/null
+++ b/tests/resources/submod3/.gitted/objects/e6/4b5c9e517bbb34962611400cde683690e56aa8
Binary files differ
diff --git a/tests/resources/submod3/.gitted/objects/e7/b6f5010b47e84573eb670d8b31f19fccab6964 b/tests/resources/submod3/.gitted/objects/e7/b6f5010b47e84573eb670d8b31f19fccab6964
new file mode 100644
index 000000000..4b93a3715
--- /dev/null
+++ b/tests/resources/submod3/.gitted/objects/e7/b6f5010b47e84573eb670d8b31f19fccab6964
Binary files differ
diff --git a/tests/resources/submod3/.gitted/refs/heads/master b/tests/resources/submod3/.gitted/refs/heads/master
new file mode 100644
index 000000000..706cfc46c
--- /dev/null
+++ b/tests/resources/submod3/.gitted/refs/heads/master
@@ -0,0 +1 @@
+90459b51713bde15eb97852ff22c29270752b432
diff --git a/tests/resources/submod3/EIGHT/.gitted b/tests/resources/submod3/EIGHT/.gitted
new file mode 100644
index 000000000..85c342420
--- /dev/null
+++ b/tests/resources/submod3/EIGHT/.gitted
@@ -0,0 +1 @@
+gitdir: ../.git/modules/EIGHT
diff --git a/tests/resources/submod3/EIGHT/README.txt b/tests/resources/submod3/EIGHT/README.txt
new file mode 100644
index 000000000..780d7397f
--- /dev/null
+++ b/tests/resources/submod3/EIGHT/README.txt
@@ -0,0 +1,3 @@
+This is the target for submod2 submodule links.
+Don't add commits casually because you make break tests.
+
diff --git a/tests/resources/submod3/EIGHT/file_to_modify b/tests/resources/submod3/EIGHT/file_to_modify
new file mode 100644
index 000000000..789efbdad
--- /dev/null
+++ b/tests/resources/submod3/EIGHT/file_to_modify
@@ -0,0 +1,3 @@
+This is a file to modify in submodules
+It already has some history.
+You can add local changes as needed.
diff --git a/tests/resources/submod3/Five/.gitted b/tests/resources/submod3/Five/.gitted
new file mode 100644
index 000000000..6a743bbdc
--- /dev/null
+++ b/tests/resources/submod3/Five/.gitted
@@ -0,0 +1 @@
+gitdir: ../.git/modules/Five
diff --git a/tests/resources/submod3/Five/README.txt b/tests/resources/submod3/Five/README.txt
new file mode 100644
index 000000000..780d7397f
--- /dev/null
+++ b/tests/resources/submod3/Five/README.txt
@@ -0,0 +1,3 @@
+This is the target for submod2 submodule links.
+Don't add commits casually because you make break tests.
+
diff --git a/tests/resources/submod3/Five/file_to_modify b/tests/resources/submod3/Five/file_to_modify
new file mode 100644
index 000000000..789efbdad
--- /dev/null
+++ b/tests/resources/submod3/Five/file_to_modify
@@ -0,0 +1,3 @@
+This is a file to modify in submodules
+It already has some history.
+You can add local changes as needed.
diff --git a/tests/resources/submod3/FoUr/.gitted b/tests/resources/submod3/FoUr/.gitted
new file mode 100644
index 000000000..2cef33432
--- /dev/null
+++ b/tests/resources/submod3/FoUr/.gitted
@@ -0,0 +1 @@
+gitdir: ../.git/modules/FoUr
diff --git a/tests/resources/submod3/FoUr/README.txt b/tests/resources/submod3/FoUr/README.txt
new file mode 100644
index 000000000..780d7397f
--- /dev/null
+++ b/tests/resources/submod3/FoUr/README.txt
@@ -0,0 +1,3 @@
+This is the target for submod2 submodule links.
+Don't add commits casually because you make break tests.
+
diff --git a/tests/resources/submod3/FoUr/file_to_modify b/tests/resources/submod3/FoUr/file_to_modify
new file mode 100644
index 000000000..789efbdad
--- /dev/null
+++ b/tests/resources/submod3/FoUr/file_to_modify
@@ -0,0 +1,3 @@
+This is a file to modify in submodules
+It already has some history.
+You can add local changes as needed.
diff --git a/tests/resources/submod3/One/.gitted b/tests/resources/submod3/One/.gitted
new file mode 100644
index 000000000..85428882e
--- /dev/null
+++ b/tests/resources/submod3/One/.gitted
@@ -0,0 +1 @@
+gitdir: ../.git/modules/One
diff --git a/tests/resources/submod3/One/README.txt b/tests/resources/submod3/One/README.txt
new file mode 100644
index 000000000..780d7397f
--- /dev/null
+++ b/tests/resources/submod3/One/README.txt
@@ -0,0 +1,3 @@
+This is the target for submod2 submodule links.
+Don't add commits casually because you make break tests.
+
diff --git a/tests/resources/submod3/One/file_to_modify b/tests/resources/submod3/One/file_to_modify
new file mode 100644
index 000000000..789efbdad
--- /dev/null
+++ b/tests/resources/submod3/One/file_to_modify
@@ -0,0 +1,3 @@
+This is a file to modify in submodules
+It already has some history.
+You can add local changes as needed.
diff --git a/tests/resources/submod3/TEN/.gitted b/tests/resources/submod3/TEN/.gitted
new file mode 100644
index 000000000..f8f7b838b
--- /dev/null
+++ b/tests/resources/submod3/TEN/.gitted
@@ -0,0 +1 @@
+gitdir: ../.git/modules/TEN
diff --git a/tests/resources/submod3/TEN/README.txt b/tests/resources/submod3/TEN/README.txt
new file mode 100644
index 000000000..780d7397f
--- /dev/null
+++ b/tests/resources/submod3/TEN/README.txt
@@ -0,0 +1,3 @@
+This is the target for submod2 submodule links.
+Don't add commits casually because you make break tests.
+
diff --git a/tests/resources/submod3/TEN/file_to_modify b/tests/resources/submod3/TEN/file_to_modify
new file mode 100644
index 000000000..789efbdad
--- /dev/null
+++ b/tests/resources/submod3/TEN/file_to_modify
@@ -0,0 +1,3 @@
+This is a file to modify in submodules
+It already has some history.
+You can add local changes as needed.
diff --git a/tests/resources/submod3/TWO/.gitted b/tests/resources/submod3/TWO/.gitted
new file mode 100644
index 000000000..e1ddbd741
--- /dev/null
+++ b/tests/resources/submod3/TWO/.gitted
@@ -0,0 +1 @@
+gitdir: ../.git/modules/TWO
diff --git a/tests/resources/submod3/TWO/README.txt b/tests/resources/submod3/TWO/README.txt
new file mode 100644
index 000000000..780d7397f
--- /dev/null
+++ b/tests/resources/submod3/TWO/README.txt
@@ -0,0 +1,3 @@
+This is the target for submod2 submodule links.
+Don't add commits casually because you make break tests.
+
diff --git a/tests/resources/submod3/TWO/file_to_modify b/tests/resources/submod3/TWO/file_to_modify
new file mode 100644
index 000000000..789efbdad
--- /dev/null
+++ b/tests/resources/submod3/TWO/file_to_modify
@@ -0,0 +1,3 @@
+This is a file to modify in submodules
+It already has some history.
+You can add local changes as needed.
diff --git a/tests/resources/submod3/gitmodules b/tests/resources/submod3/gitmodules
new file mode 100644
index 000000000..7308ab0fb
--- /dev/null
+++ b/tests/resources/submod3/gitmodules
@@ -0,0 +1,30 @@
+[submodule "One"]
+ path = One
+ url = /tmp/libgit2_tests_XJLtEE/submod2_target
+[submodule "TWO"]
+ path = TWO
+ url = /tmp/libgit2_tests_XJLtEE/submod2_target
+[submodule "three"]
+ path = three
+ url = /tmp/libgit2_tests_XJLtEE/submod2_target
+[submodule "FoUr"]
+ path = FoUr
+ url = /tmp/libgit2_tests_XJLtEE/submod2_target
+[submodule "Five"]
+ path = Five
+ url = /tmp/libgit2_tests_XJLtEE/submod2_target
+[submodule "six"]
+ path = six
+ url = /tmp/libgit2_tests_XJLtEE/submod2_target
+[submodule "sEvEn"]
+ path = sEvEn
+ url = /tmp/libgit2_tests_XJLtEE/submod2_target
+[submodule "EIGHT"]
+ path = EIGHT
+ url = /tmp/libgit2_tests_XJLtEE/submod2_target
+[submodule "nine"]
+ path = nine
+ url = /tmp/libgit2_tests_XJLtEE/submod2_target
+[submodule "TEN"]
+ path = TEN
+ url = /tmp/libgit2_tests_XJLtEE/submod2_target
diff --git a/tests/resources/submod3/nine/.gitted b/tests/resources/submod3/nine/.gitted
new file mode 100644
index 000000000..a49dfa774
--- /dev/null
+++ b/tests/resources/submod3/nine/.gitted
@@ -0,0 +1 @@
+gitdir: ../.git/modules/nine
diff --git a/tests/resources/submod3/nine/README.txt b/tests/resources/submod3/nine/README.txt
new file mode 100644
index 000000000..780d7397f
--- /dev/null
+++ b/tests/resources/submod3/nine/README.txt
@@ -0,0 +1,3 @@
+This is the target for submod2 submodule links.
+Don't add commits casually because you make break tests.
+
diff --git a/tests/resources/submod3/nine/file_to_modify b/tests/resources/submod3/nine/file_to_modify
new file mode 100644
index 000000000..789efbdad
--- /dev/null
+++ b/tests/resources/submod3/nine/file_to_modify
@@ -0,0 +1,3 @@
+This is a file to modify in submodules
+It already has some history.
+You can add local changes as needed.
diff --git a/tests/resources/submod3/sEvEn/.gitted b/tests/resources/submod3/sEvEn/.gitted
new file mode 100644
index 000000000..20e83f05c
--- /dev/null
+++ b/tests/resources/submod3/sEvEn/.gitted
@@ -0,0 +1 @@
+gitdir: ../.git/modules/sEvEn
diff --git a/tests/resources/submod3/sEvEn/README.txt b/tests/resources/submod3/sEvEn/README.txt
new file mode 100644
index 000000000..780d7397f
--- /dev/null
+++ b/tests/resources/submod3/sEvEn/README.txt
@@ -0,0 +1,3 @@
+This is the target for submod2 submodule links.
+Don't add commits casually because you make break tests.
+
diff --git a/tests/resources/submod3/sEvEn/file_to_modify b/tests/resources/submod3/sEvEn/file_to_modify
new file mode 100644
index 000000000..789efbdad
--- /dev/null
+++ b/tests/resources/submod3/sEvEn/file_to_modify
@@ -0,0 +1,3 @@
+This is a file to modify in submodules
+It already has some history.
+You can add local changes as needed.
diff --git a/tests/resources/submod3/six/.gitted b/tests/resources/submod3/six/.gitted
new file mode 100644
index 000000000..4dec8956f
--- /dev/null
+++ b/tests/resources/submod3/six/.gitted
@@ -0,0 +1 @@
+gitdir: ../.git/modules/six
diff --git a/tests/resources/submod3/six/README.txt b/tests/resources/submod3/six/README.txt
new file mode 100644
index 000000000..780d7397f
--- /dev/null
+++ b/tests/resources/submod3/six/README.txt
@@ -0,0 +1,3 @@
+This is the target for submod2 submodule links.
+Don't add commits casually because you make break tests.
+
diff --git a/tests/resources/submod3/six/file_to_modify b/tests/resources/submod3/six/file_to_modify
new file mode 100644
index 000000000..789efbdad
--- /dev/null
+++ b/tests/resources/submod3/six/file_to_modify
@@ -0,0 +1,3 @@
+This is a file to modify in submodules
+It already has some history.
+You can add local changes as needed.
diff --git a/tests/resources/submod3/three/.gitted b/tests/resources/submod3/three/.gitted
new file mode 100644
index 000000000..6025d2d35
--- /dev/null
+++ b/tests/resources/submod3/three/.gitted
@@ -0,0 +1 @@
+gitdir: ../.git/modules/three
diff --git a/tests/resources/submod3/three/README.txt b/tests/resources/submod3/three/README.txt
new file mode 100644
index 000000000..780d7397f
--- /dev/null
+++ b/tests/resources/submod3/three/README.txt
@@ -0,0 +1,3 @@
+This is the target for submod2 submodule links.
+Don't add commits casually because you make break tests.
+
diff --git a/tests/resources/submod3/three/file_to_modify b/tests/resources/submod3/three/file_to_modify
new file mode 100644
index 000000000..789efbdad
--- /dev/null
+++ b/tests/resources/submod3/three/file_to_modify
@@ -0,0 +1,3 @@
+This is a file to modify in submodules
+It already has some history.
+You can add local changes as needed.
diff --git a/tests/status/submodules.c b/tests/status/submodules.c
index e6de60088..33c9e5ab4 100644
--- a/tests/status/submodules.c
+++ b/tests/status/submodules.c
@@ -524,3 +524,40 @@ void test_status_submodules__entry_but_dir_tracked(void)
git_tree_free(tree);
git_repository_free(repo);
}
+
+void test_status_submodules__mixed_case(void)
+{
+ git_status_list *status;
+ git_status_options status_opts = GIT_STATUS_OPTIONS_INIT;
+ const git_status_entry *s;
+ size_t i;
+
+ status_opts.flags =
+ GIT_STATUS_OPT_INCLUDE_UNTRACKED |
+ GIT_STATUS_OPT_INCLUDE_IGNORED |
+ GIT_STATUS_OPT_INCLUDE_UNMODIFIED |
+ GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS |
+ GIT_STATUS_OPT_RECURSE_IGNORED_DIRS |
+ GIT_STATUS_OPT_RENAMES_HEAD_TO_INDEX |
+ GIT_STATUS_OPT_RENAMES_INDEX_TO_WORKDIR |
+ GIT_STATUS_OPT_RENAMES_FROM_REWRITES |
+ GIT_STATUS_OPT_INCLUDE_UNREADABLE |
+ GIT_STATUS_OPT_INCLUDE_UNREADABLE_AS_UNTRACKED;
+
+ g_repo = setup_fixture_submod3();
+
+ cl_git_pass(git_status_list_new(&status, g_repo, &status_opts));
+
+ for (i = 0; i < git_status_list_entrycount(status); i++) {
+ s = git_status_byindex(status, i);
+
+ if (s->head_to_index &&
+ strcmp(s->head_to_index->old_file.path, ".gitmodules") == 0)
+ continue;
+
+ cl_assert_equal_i(0, s->status);
+ }
+
+ git_status_list_free(status);
+}
+
diff --git a/tests/submodule/submodule_helpers.c b/tests/submodule/submodule_helpers.c
index 4ff4b4da7..6c2b9cf78 100644
--- a/tests/submodule/submodule_helpers.c
+++ b/tests/submodule/submodule_helpers.c
@@ -126,6 +126,32 @@ git_repository *setup_fixture_submod2(void)
return repo;
}
+git_repository *setup_fixture_submod3(void)
+{
+ git_repository *repo = cl_git_sandbox_init("submod3");
+
+ cl_fixture_sandbox("submod2_target");
+ p_rename("submod2_target/.gitted", "submod2_target/.git");
+
+ rewrite_gitmodules(git_repository_workdir(repo));
+ p_rename("submod3/One/.gitted", "submod3/One/.git");
+ p_rename("submod3/TWO/.gitted", "submod3/TWO/.git");
+ p_rename("submod3/three/.gitted", "submod3/three/.git");
+ p_rename("submod3/FoUr/.gitted", "submod3/FoUr/.git");
+ p_rename("submod3/Five/.gitted", "submod3/Five/.git");
+ p_rename("submod3/six/.gitted", "submod3/six/.git");
+ p_rename("submod3/sEvEn/.gitted", "submod3/sEvEn/.git");
+ p_rename("submod3/EIGHT/.gitted", "submod3/EIGHT/.git");
+ p_rename("submod3/nine/.gitted", "submod3/nine/.git");
+ p_rename("submod3/TEN/.gitted", "submod3/TEN/.git");
+
+ cl_set_cleanup(cleanup_fixture_submodules, "submod2_target");
+
+ cl_git_pass(git_repository_reinit_filesystem(repo, 1));
+
+ return repo;
+}
+
git_repository *setup_fixture_super(void)
{
git_repository *repo = cl_git_sandbox_init("super");
diff --git a/tests/submodule/submodule_helpers.h b/tests/submodule/submodule_helpers.h
index 42b14a7bc..d112b0c77 100644
--- a/tests/submodule/submodule_helpers.h
+++ b/tests/submodule/submodule_helpers.h
@@ -3,6 +3,7 @@ extern void rewrite_gitmodules(const char *workdir);
/* these will automatically set a cleanup callback */
extern git_repository *setup_fixture_submodules(void);
extern git_repository *setup_fixture_submod2(void);
+extern git_repository *setup_fixture_submod3(void);
extern git_repository *setup_fixture_submodule_simple(void);
extern git_repository *setup_fixture_super(void);
extern git_repository *setup_fixture_submodule_with_path(void);