From bb205d796e4a02f904e4901d695b432190e30cc5 Mon Sep 17 00:00:00 2001 From: Ofir Petrushka Date: Sat, 5 Sep 2020 17:16:25 +1000 Subject: [PATCH] Submodule test Signed-off-by: Ofir Petrushka --- tests/files/submodule/.gitmodules | 3 + tests/files/submodule/dot_git/COMMIT_EDITMSG | 1 + tests/files/submodule/dot_git/FETCH_HEAD | 1 + tests/files/submodule/dot_git/HEAD | 1 + tests/files/submodule/dot_git/config | 18 ++ tests/files/submodule/dot_git/description | 1 + .../submodule/dot_git/hooks/applypatch-msg | 15 ++ .../files/submodule/dot_git/hooks/commit-msg | 21 +++ .../files/submodule/dot_git/hooks/post-commit | 8 + .../submodule/dot_git/hooks/post-receive | 16 ++ .../files/submodule/dot_git/hooks/post-update | 8 + .../submodule/dot_git/hooks/pre-applypatch | 14 ++ .../files/submodule/dot_git/hooks/pre-commit | 70 ++++++++ .../files/submodule/dot_git/hooks/pre-rebase | 150 ++++++++++++++++ tests/files/submodule/dot_git/hooks/update | 78 ++++++++ tests/files/submodule/dot_git/index | Bin 0 -> 606 bytes tests/files/submodule/dot_git/info/exclude | 6 + tests/files/submodule/dot_git/logs/HEAD | 76 ++++++++ .../dot_git/logs/refs/heads/diff_over_patches | 2 + .../dot_git/logs/refs/heads/git_grep | 6 + .../submodule/dot_git/logs/refs/heads/master | 64 +++++++ .../submodule/dot_git/logs/refs/heads/test | 3 + .../dot_git/logs/refs/heads/test_branches | 1 + .../dot_git/logs/refs/heads/test_object | 2 + .../dot_git/logs/refs/remotes/working/master | 1 + .../dot_git/modules/unlicense_only/HEAD | 1 + .../dot_git/modules/unlicense_only/config | 12 ++ .../modules/unlicense_only/description | 1 + .../hooks/applypatch-msg.sample | 15 ++ .../unlicense_only/hooks/commit-msg.sample | 24 +++ .../hooks/fsmonitor-watchman.sample | 114 ++++++++++++ .../unlicense_only/hooks/post-update.sample | 8 + .../hooks/pre-applypatch.sample | 14 ++ .../unlicense_only/hooks/pre-commit.sample | 49 +++++ .../unlicense_only/hooks/pre-push.sample | 53 ++++++ .../unlicense_only/hooks/pre-rebase.sample | 169 ++++++++++++++++++ .../unlicense_only/hooks/pre-receive.sample | 24 +++ .../hooks/prepare-commit-msg.sample | 42 +++++ .../unlicense_only/hooks/update.sample | 128 +++++++++++++ .../dot_git/modules/unlicense_only/index | Bin 0 -> 137 bytes .../modules/unlicense_only/info/exclude | 6 + .../dot_git/modules/unlicense_only/logs/HEAD | 1 + .../unlicense_only/logs/refs/heads/master | 1 + .../logs/refs/remotes/origin/HEAD | 1 + ...fb165670a7dfea64cc631cc8b400c2abc8c297.idx | Bin 0 -> 1156 bytes ...b165670a7dfea64cc631cc8b400c2abc8c297.pack | Bin 0 -> 1297 bytes .../modules/unlicense_only/packed-refs | 2 + .../modules/unlicense_only/refs/heads/master | 1 + .../unlicense_only/refs/remotes/origin/HEAD | 1 + .../00/62cdf4c1e63069eececf54325535e91fd57c42 | Bin 0 -> 88 bytes .../00/ea60e1331b184386392037a7267dfb4a7c7d86 | Bin 0 -> 171 bytes .../01/0b7b79019cb510d8c5849704fd10541655916d | Bin 0 -> 20 bytes .../01/dd46ebe07fc30c10c85c2e926c70f2d7058a6b | Bin 0 -> 88 bytes .../02/b2a02844d00574c234d17bec6294e832f3c4c1 | Bin 0 -> 88 bytes .../06/f4e8a840d23fc0ab94895a5d16827a19f75fb7 | Bin 0 -> 20 bytes .../0b/2fe00801b62b7760c23d554796b05abc16af92 | Bin 0 -> 88 bytes .../0b/5262f6ee3552a99b7081a317e8289d6a4d8e72 | Bin 0 -> 21 bytes .../0b/c0d846cf80b079e763e35c3af273171bf01fca | Bin 0 -> 88 bytes .../0c/ac9b660896797e9cc9abb36c081a7ec0d1a7b1 | Bin 0 -> 153 bytes .../0d/2c47f07277b3ea30b0884f8e3acd68440507c8 | Bin 0 -> 171 bytes .../0d/519ca9c2eddc44431efe135d0fc8df00e0b975 | Bin 0 -> 170 bytes .../0f/845a0a981bc2f61354fcdd2b6eafe2b2c55c2d | 3 + .../0f/f4a0357c3d7221a2ef1e4c6b7d5c46d97fe250 | Bin 0 -> 88 bytes .../12/eb889f49f1464b32a51424d7724fb16f6c3a31 | Bin 0 -> 88 bytes .../15/34a65657edf4e5caaa5ce35652dca5e4c7d316 | Bin 0 -> 88 bytes .../15/378a1f3eafe4c5ab4f890883356df917ee5539 | 2 + .../16/9e6db43d4c09cd610179a7b9826483b4d94123 | Bin 0 -> 88 bytes .../16/d1f96acfd92d09c4f1f56d3441ac55dd30500e | Bin 0 -> 20 bytes .../16/ee5335538f11b4ffcc17b051f8d5db7570a055 | Bin 0 -> 20 bytes .../17/9ef0e0209e90af00f544ff414e0674dfb5f5c7 | Bin 0 -> 20 bytes .../19/9d2f8e60fddd1bb2a1b0bddedde35e5aa8b03f | Bin 0 -> 88 bytes .../1c/04149973fb98fe8437fde044eb44cf5eb6ddda | 3 + .../1c/c8667014381e2788a94777532a788307f38d26 | 1 + .../1c/fcfba04eb4e461e9f930d22f528023ab1ddefc | Bin 0 -> 21 bytes .../1d/7be4117ded4534789d85c42ab579644cd3fa12 | Bin 0 -> 88 bytes .../1d/9e4767a95047ca5e395714985afaedb186f4cd | 1 + .../1f/09f2edb9c0d9275d15960771b363ca6940fbe3 | Bin 0 -> 38 bytes .../1f/691b879df15cf6742502ffc59833b4a40e7aef | Bin 0 -> 118 bytes .../23/751ef6c1fed1304ae1d07020aa73da6f2b93b0 | 1 + .../24/5582a71306d7360e40c07cd7d849a1aa14a31e | Bin 0 -> 88 bytes .../26/3e3c527004e7b742ed1f747c1bfb7e11825d7a | Bin 0 -> 88 bytes .../27/c0c003dda3e59ba236f53f6661faaf74432b5c | Bin 0 -> 88 bytes .../29/1b6be488d6abc586d3ee03ca61238766625a75 | Bin 0 -> 169 bytes .../2a/f6f7d51b7afdd404a871581ebb3b6ac07fb8cc | Bin 0 -> 88 bytes .../2c/ef51480d44dcc262d16be2812c692d940d5f29 | Bin 0 -> 88 bytes .../2e/20132e8fd40cb3e82248919a10900d31f1816a | Bin 0 -> 53 bytes .../2e/939fd37bbd2da971faa27c3e3de7d5aad40507 | Bin 0 -> 171 bytes .../2f/53e667d1d88e75b3fa300f9ab6e2d8ffd32a15 | Bin 0 -> 20 bytes .../32/4968b9dc40253f2c52a8e3856398c761dea856 | Bin 0 -> 171 bytes .../33/8ecb0183d507498aedb669b796b4f9e8880f00 | Bin 0 -> 20 bytes .../33/edabb4334cbe849a477a0d2893cdb768fa3091 | Bin 0 -> 88 bytes .../34/a566d193dc4702f03149969a2aad1443231560 | 1 + .../36/fe213c328fd280f33abe00069c4b92eb5a88d1 | Bin 0 -> 170 bytes .../39/66e9fa0e0b9fe9d3ef2fdaa6933f3d0bb82bc3 | Bin 0 -> 20 bytes .../3a/9f195756f5bd26b67c5e1fffd92d68d61be14e | 2 + .../3a/ac4b445017a8fc07502670ec2dbf744213dd48 | Bin 0 -> 25 bytes .../3b/6eeed9ce43ea893cf48d263da93448edae9f1c | Bin 0 -> 21 bytes .../3c/644f22b9b8edb06e7e298ecac8e71b133061f1 | Bin 0 -> 20 bytes .../3c/c71b13d906e445da52785ddeff40dad1163d49 | 2 + .../3c/f35bd14cf5f2dd08bbeef8698d700f3a038e5c | Bin 0 -> 88 bytes .../3d/331db92a8ead0565679efb76f328ae69ed1b77 | Bin 0 -> 21 bytes .../3e/5eaf50ab28be8f4c7a4e822be066aa93881641 | Bin 0 -> 92 bytes .../44/88516c3c936db58ea485ec2213dab9d13e6628 | Bin 0 -> 20 bytes .../44/987dd95c338fb573726541f270f1a7b55c9d51 | Bin 0 -> 21 bytes .../45/20c29b885e9db9b0df3c7bab7870157e1d00c3 | Bin 0 -> 83 bytes .../45/b983be36b73c0788dc9cbcb76cbb80fc7bb057 | Bin 0 -> 18 bytes .../46/00557506be20eb1501a4f15a52e684d4b9ee61 | Bin 0 -> 20 bytes .../46/a60232117527e7b57ac0dd5ea4af2cd3fdb696 | Bin 0 -> 87 bytes .../47/0f6a87fa51dd25f6db0f4725ae37791d449356 | Bin 0 -> 88 bytes .../47/2650d42fa9454e2e61e3da9f5c158b8af6d298 | Bin 0 -> 118 bytes .../47/8e5ee111572790b248eaa99140c5a8f728abc7 | Bin 0 -> 171 bytes .../48/bbf0db7e813affab7d8dd2842b8455ff9876be | Bin 0 -> 118 bytes .../49/b352299735fda3a333c69c6273178b0c3dfa08 | Bin 0 -> 21 bytes .../4a/1e3e4500962c3631a479726bf2e40469594cba | Bin 0 -> 21 bytes .../4a/2bee50944e9285e8f82216c9b0b8a7d3cdd315 | Bin 0 -> 20 bytes .../4a/4e676afe275afecf23130390fe96d0e6d00057 | Bin 0 -> 20 bytes .../4a/de99433ac3e4bcc874cd7de488de29399e9096 | 1 + .../4b/7c90536eaa830d8c1f6ff49a7885b581d6acef | 1 + .../4c/411dc8e6ea6fcba0ed56e84aa7707f881d24c7 | Bin 0 -> 88 bytes .../4c/ce9432b2f80461324a61611f6143f8544cd80f | 1 + .../4c/e44a75510cbfe200b131fdbcc56a86f1b2dc08 | Bin 0 -> 169 bytes .../4d/35ba97a858072c240d327e3ce30c28b333a1b0 | Bin 0 -> 169 bytes .../4d/ff9ef38ef09cbf0e36031bbee22b7cf0c7a8fc | 1 + .../4e/aafb1d843aec4f8f1612d03de46a08c2143ea9 | Bin 0 -> 88 bytes .../4e/ebc1b62c53241b7fbf7fb33b5230362595bfdd | Bin 0 -> 88 bytes .../4f/4065121cb78fe6116ae7e3075f5c5a446bd08b | Bin 0 -> 88 bytes .../50/3d77289b054742f507d8a8ce7cc51d3841d5b9 | Bin 0 -> 88 bytes .../52/4038b20b297f40d78e7d83e04e38049457312b | Bin 0 -> 88 bytes .../53/a72df554e585e239e41cb1fc498d5aee9bb164 | Bin 0 -> 172 bytes .../54/0200385c3b0b299c7a87ecf59ca94c32fbbe99 | Bin 0 -> 20 bytes .../54/5c81a2e8d1112d5f7356f840a22e8f6abcef8f | 2 + .../54/5ffc79786f268524c35e1e05b1770c7c74faf1 | 3 + .../54/6bec6f8872efa41d5d97a369f669165ecda0de | Bin 0 -> 168 bytes .../54/7a4bae347658f0d9eed0d35d31b4561aea7cf8 | 2 + .../56/195ef83e9e20ca75dddef0630633fc8060ed11 | Bin 0 -> 21 bytes .../57/7ddd894033c46a5fcf2c6f3c4e71cc72f86909 | Bin 0 -> 59 bytes .../58/501cbd0fc5ce832f6b34d37243a520dc19a6cc | 1 + .../58/73a650a91eb238005444d2c637b451f687951b | Bin 0 -> 169 bytes .../5a/28efd2fcf55b7b58eb7cc66b5db836155bc2bb | Bin 0 -> 88 bytes .../5b/0be7da7cc9ecdb6c2de5f818c30a42fbd2c9fa | 1 + .../5c/16fb8b958b51f6008f9722b279b1fde0defb76 | 3 + .../5d/4606820736043f9eed2a6336661d6892c820a5 | Bin 0 -> 37 bytes .../5e/392652a881999392c2757cf9b783c5d47b67f7 | Bin 0 -> 170 bytes .../5e/53019b3238362144c2766f02a2c00d91fcc023 | 2 + .../60/94405a5209406708ffe737077841b45c63fe25 | Bin 0 -> 175 bytes .../62/70c7f48ca41e6fb41b745ddc1bffe521d83194 | 2 + .../62/7e1097cda3b2e3ad6ba4d3772c0985e1ff349c | Bin 0 -> 19 bytes .../62/bb94c53efae4d53fd0649d129baef4aca87af7 | 3 + .../62/c9331ffe97bb6388fb7968662b4e97d121e2da | Bin 0 -> 88 bytes .../63/1446ec50808846e31fff786c065e69da2c673b | Bin 0 -> 169 bytes .../64/d0c52ac4c061cf1705e3005dfd86fb70374a14 | Bin 0 -> 88 bytes .../66/80a909b0e02b297bedbe143ef789d297235358 | Bin 0 -> 88 bytes .../6a/44b59f6c1e5e51651cd6b642657b89a087950f | Bin 0 -> 160 bytes .../6b/790ddc5eab30f18cabdd0513e8f8dac0d2d3ed | Bin 0 -> 51 bytes .../6c/2d312ebd67eed4c7e97e3923b3667764e7360e | Bin 0 -> 171 bytes .../6d/e8fb35c2e4a69addd030f2dbb4f73fd4742b5b | Bin 0 -> 20 bytes .../6e/d281c757a969ffe22f3dcfa5830c532479c726 | Bin 0 -> 19 bytes .../70/714b02913c1a249a5ab05021742f0bc7065df7 | Bin 0 -> 169 bytes .../71/894b736711ea0a5def4f536009364d07ee4db3 | 2 + .../71/c9a23879ff0ac8c49b92d107f3f89c6d1b2d92 | 1 + .../73/b171450704ea4350f9f884426389fe04c6cd51 | Bin 0 -> 88 bytes .../74/32b657191a10587335e74ae6f0966a7eed2976 | Bin 0 -> 21 bytes .../79/e5b9e6ee5a1e6c52676a6332fe9163adaa92cb | Bin 0 -> 20 bytes .../7c/076f209839d7f910e8c84e41cc94898287ef45 | Bin 0 -> 88 bytes .../7c/60c6ab64c74d52f973d18cd1933318a8d9ae2e | Bin 0 -> 88 bytes .../7c/ac4f8d519d524ed025732ee220f6451665a770 | Bin 0 -> 88 bytes .../7f/5625f6b3c7213287a12c89017361248ed88936 | Bin 0 -> 172 bytes .../7f/86d16e0254f64f784198c6a55ef9bf7adbe7ce | Bin 0 -> 87 bytes .../7f/bfee9f8882ada1ec45c4925baf5649d96c4a16 | Bin 0 -> 21 bytes .../81/25fbe8605d2884e732a185c9a24abcc0d12a1f | Bin 0 -> 169 bytes .../81/d4d5e9b6db474d0f432aa31d44bf690d841e94 | Bin 0 -> 169 bytes .../81/f545324202466d44115656ea463a5bb114345f | Bin 0 -> 170 bytes .../82/d331cf4d3d4ee537c4f866cab2633b46a8d090 | Bin 0 -> 171 bytes .../83/c6a1f0d7d8df18a9d9bfe917707aec37868418 | Bin 0 -> 87 bytes .../85/8f46dd7496faf7af72102ca15cccff832b5377 | Bin 0 -> 88 bytes .../87/c56502c73149f006631129f85dff697e000356 | Bin 0 -> 170 bytes .../88/cf23d06f519bec7b824acd52b87a729555f2e7 | Bin 0 -> 169 bytes .../8a/3fb747983bf2a7f4ef136af4bfcf7993a19307 | Bin 0 -> 21 bytes .../8b/00d915a0ee5aeb32e0b166e1054c2901338c9d | Bin 0 -> 169 bytes .../8c/e3ee48a7e7ec697a99ee33700ec624548ad9e8 | Bin 0 -> 168 bytes .../8d/ae07ab9d98b5fe04d4d7ed804cc36441b68dab | Bin 0 -> 169 bytes .../8d/c79ae7616abf1e2d4d5d97d566f2b2f6cee043 | Bin 0 -> 48 bytes .../8e/33476f852fffb06e22b244c0f97093588567ee | Bin 0 -> 7182 bytes .../92/4dec9203af851c3b3e564697ab3004b35b3c2f | Bin 0 -> 21 bytes .../93/06c056ba3ef9dca6f6365af38148c71196533a | Bin 0 -> 88 bytes .../93/5badc874edd62a8629aaf103418092c73f0a56 | 1 + .../94/c827875e2cadb8bc8d4cdd900f19aa9e8634c7 | Bin 0 -> 87 bytes .../95/ef665df6ebd69842c5e74a24cb8a12225dee3e | Bin 0 -> 88 bytes .../98/fb6a686563963b8f7e552d747158adbc1c2bd6 | Bin 0 -> 18 bytes .../99/3dd9b1cdeab53e305886c91dbcbc8929eff22e | 1 + .../9a/e1fbd7636c99d34fdd395cf9bb21ad51417ce7 | 1 + .../9b/5149aa4ace4ef69461803b0ccbb21139e12626 | Bin 0 -> 88 bytes .../9d/3ad2f09cb7a1d4f4c91182c96f2be537fbc4ff | Bin 0 -> 52 bytes .../9d/6f937544dc3b936d6ee1466d6e216ba18d5686 | Bin 0 -> 87 bytes .../9f/a43bcd45af28e109e6f7b9a6ccd26e8e193a63 | Bin 0 -> 170 bytes .../a0/b3f35b3c39cfb12c4cc819bffe1cf54efb3642 | 2 + .../a1/15413501949f4f09811fd1aaecf136c012c7d7 | Bin 0 -> 21 bytes .../a1/a3069efcc64330fb6c66004e69b870da3d6186 | Bin 0 -> 20 bytes .../a3/62d30d5fe1021cabc4c90f073ba2511d5a43a1 | Bin 0 -> 88 bytes .../a3/c1f067074cdc9aa998cb5f3cad46a6f17aab2d | Bin 0 -> 170 bytes .../a3/db7143944dcfa006fefe7fb49c48793cb29ade | 2 + .../a4/4a5e945176ff31be83ffca3e7c68a8b6a45ea5 | 1 + .../a5/1546fabf88ddef5a9fd91b3989dd8ccae2edf3 | Bin 0 -> 169 bytes .../a6/b25c4b27ee99f93fd611154202af5f9e3c99de | 2 + .../a7/88a1cba299638a2c898fcfaae1f69a1549853d | Bin 0 -> 170 bytes .../a8/98e8a6b143188022863bc1cab0b5f7514624ba | Bin 0 -> 88 bytes .../a8/b607b221454c4cd7bc7831b2d19712bb4ff888 | Bin 0 -> 21 bytes .../a9/e2d9b71b616531f04a65ae5b972ba5d1f2cb93 | Bin 0 -> 58 bytes .../a9/e2f17562ae78a75dc855bb3dc9e87364195dcf | Bin 0 -> 19 bytes .../ab/16bc1812fd6226780a841300a2432dfd0c6719 | Bin 0 -> 88 bytes .../ac/8f48bbb7b31c945ba6a4fbe6950d009a5d8373 | Bin 0 -> 20 bytes .../ae/21cabd23aee99a719fc828977c0df9e8b19363 | Bin 0 -> 167 bytes .../b0/3003311ad3fa368b475df58390353868e13c91 | 2 + .../b0/ee249c5e5cc9464f3bc0034ab05632dcb87a23 | Bin 0 -> 88 bytes .../b1/288f8beeaa6cf048c3a9f578d4e266fab8820e | Bin 0 -> 88 bytes .../b1/5336206c9040f4c52660b3f3c76ee02ccece56 | Bin 0 -> 20 bytes .../b1/b18f5bea24648a1b08e5bba88728c15ec3cb50 | 2 + .../b4/5724ee906d2561901208ba924add09ab95ccb3 | Bin 0 -> 20 bytes .../b5/d8fc3cb740eb643c66eb5f4a97345fdb806259 | Bin 0 -> 87 bytes .../b6/153b8fe540288d66b974ae05113338ab1a61f0 | Bin 0 -> 167 bytes .../b6/987bc1201ad19774c43c0ea8078f6f51d76bcb | Bin 0 -> 20 bytes .../b6/9e6acd87e5f9114ce6580b095ef1057a8fe5bb | Bin 0 -> 20 bytes .../b9/84607a41cc1f5c512a49213404b1b4cf8df4a6 | Bin 0 -> 7170 bytes .../b9/8f4909807c8c84a1dc1b62b4a339ae1777f369 | 3 + .../ba/492c62b6227d7f3507b4dcc6e6d5f13790eabf | Bin 0 -> 23 bytes .../ba/c335cb9dc058a477d04cde34c07d1f70d16fb9 | Bin 0 -> 88 bytes .../bb/0850568bb43049031a38b01ddb60e4a487f823 | Bin 0 -> 19 bytes .../be/b14380ef26540efcad06bedcd0e302b6bce70e | Bin 0 -> 171 bytes .../c1/3142dd26a1f6f38403a17f6c411cb621b9a1cd | Bin 0 -> 20 bytes .../c1/8b4e9b0829411705d7fa9a1570a20d88780817 | Bin 0 -> 19 bytes .../c2/4a99398a725e07129987b80b4d48614884aa08 | Bin 0 -> 194 bytes .../c5/a3fdb33f052b8f17dac83c533b62244226f4ba | Bin 0 -> 88 bytes .../c6/567e2feccce3893ae0aaac2bf97807338aa8d4 | Bin 0 -> 88 bytes .../cb/45eef6fa1ad913137d91c6b81d2b42d69094a6 | Bin 0 -> 88 bytes .../cd/0d59357b36a447ff27a7c176b46e0a319b42df | Bin 0 -> 20 bytes .../cd/4291452a61ff8b57cf5510addc8ddc5630748e | Bin 0 -> 88 bytes .../cf/7135368cc3bf4920ceeaeebd083e098cfad355 | 4 + .../cf/b9952c3a28831144a0fac7ea5a2d8517f466c4 | Bin 0 -> 88 bytes .../d0/0491fd7e5bb6fa28c517a0bb32b8b506539d4d | Bin 0 -> 17 bytes .../d1/4cbc09cc34fb6450b2e96432102be51c8292b8 | Bin 0 -> 168 bytes .../d3/d171221e87a30e059d638f155f899595d96b71 | Bin 0 -> 19 bytes .../d5/b9587b65731e25216743b0caca72051a760211 | 2 + .../d6/46165a1e3a89399f72c1ffc1fcd76814c5ce1d | Bin 0 -> 153 bytes .../d6/a3aab3e38bc16688b4e636a91e462434210878 | Bin 0 -> 88 bytes .../d6/f31c35d7e010e50568c0d605227028aa7bac66 | Bin 0 -> 169 bytes .../d7/875788aeafdd8e317880c00e3372f683cad91e | Bin 0 -> 88 bytes .../d7/d8a71a719e2a4ca501991a66dab47df804f6ad | Bin 0 -> 20 bytes .../d7/e844eec32d74a3d37c4ce02d7138658e1035d6 | Bin 0 -> 88 bytes .../da/597fb7fba247a5b59d917e90342cf4b9695905 | Bin 0 -> 87 bytes .../da/7b788b1575936a4381050610a37737c70b55a0 | 1 + .../de/996da0ef3dcee1a28aef9243aa3e255eb825b5 | Bin 0 -> 20 bytes .../de/d54b45e4d49816f6d4256e74d45ba2bb351357 | Bin 0 -> 88 bytes .../e3/6f723934fd1d67c7d21538751f0b1e941141db | Bin 0 -> 170 bytes .../e3/ebef76525fe9e6e8dc739934a08512dff777c0 | Bin 0 -> 20 bytes .../e5/0fa6835cb99747346f19fea5f1ba939da4205f | 2 + .../e5/650a5c9c4b5a4415195bfb01d4d8dccbc8221b | Bin 0 -> 87 bytes .../e5/76bdfc9ed4627ac954f9390cf7a6151ad2a73e | Bin 0 -> 169 bytes .../e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 | Bin 0 -> 15 bytes .../e7/ea5938f9c009d32235050bca991d0b9533e440 | Bin 0 -> 88 bytes .../e8/183f05f5db68b3934e93f4bf6bed2bb664e0b5 | Bin 0 -> 18 bytes .../e8/bd03b163f82fba4560c11839d49361a78dec85 | Bin 0 -> 88 bytes .../e9/0de8268373e4fd5ab13310b7745d47ec16813c | Bin 0 -> 20 bytes .../ec/16a327a6a98367d03369b4e998baf3db379313 | Bin 0 -> 88 bytes .../ec/1e3d44e160e18dbfbaa80b5b0780ccc03e678e | Bin 0 -> 88 bytes .../ed/551aa66cf0c6f1a078832f80899faff0ae88dc | Bin 0 -> 88 bytes .../f1/25480ee106989ec4d86554c0d5a1487ad4336a | 1 + .../f1/410f8735f6f73d3599eb9b5cdd2fb70373335c | 3 + .../f2/02cb755135d4263589602783b04fb32a079d88 | Bin 0 -> 20 bytes .../f2/ff401fb3fc81f8abb3ca15247aadc1e22b6288 | Bin 0 -> 169 bytes .../f5/501de98279c6454f510188873476f3ead0cee6 | 4 + .../f7/5f313ca30e534aa9c42463e85108e682d3a14a | Bin 0 -> 88 bytes .../f8/e9c6748331411c0d3511f90bd4e0a1a30acff0 | Bin 0 -> 119 bytes .../f9/bce8995109cfab475d043a7dd9156d5e574ed3 | Bin 0 -> 20 bytes .../fa/6312f71abb153ada6a0399ad710d21bb61e4d8 | Bin 0 -> 88 bytes .../fb/8e78840d79085abf50edebf5b9d6b73ee0fb4c | Bin 0 -> 20 bytes .../fc/b49fa99454f804799a12095292edbca48779ab | Bin 0 -> 19 bytes .../fe/b2ccf88397c2d93f381176067be2727eba330b | Bin 0 -> 169 bytes .../dot_git/refs/heads/diff_over_patches | 1 + .../submodule/dot_git/refs/heads/git_grep | 1 + .../files/submodule/dot_git/refs/heads/master | 1 + tests/files/submodule/dot_git/refs/heads/test | 1 + .../dot_git/refs/heads/test_branches | 1 + .../submodule/dot_git/refs/heads/test_object | 1 + .../dot_git/refs/remotes/working/master | 1 + .../submodule/dot_git/refs/tags/gitsearch1 | 1 + tests/files/submodule/dot_git/refs/tags/v2.5 | 1 + tests/files/submodule/dot_git/refs/tags/v2.6 | 1 + tests/files/submodule/dot_git/refs/tags/v2.7 | 1 + tests/files/submodule/dot_git/refs/tags/v2.8 | 1 + tests/files/submodule/ex_dir/ex.txt | 0 tests/files/submodule/example.txt | 1 + tests/files/submodule/scott/newfile | 1 + tests/files/submodule/scott/text.txt | 8 + tests/files/submodule/unlicense_only/LICENSE | 24 +++ tests/files/submodule/unlicense_only/dot_git | 1 + tests/units/test_submodule.rb | 48 +++++ 296 files changed, 1404 insertions(+) create mode 100644 tests/files/submodule/.gitmodules create mode 100644 tests/files/submodule/dot_git/COMMIT_EDITMSG create mode 100644 tests/files/submodule/dot_git/FETCH_HEAD create mode 100644 tests/files/submodule/dot_git/HEAD create mode 100644 tests/files/submodule/dot_git/config create mode 100644 tests/files/submodule/dot_git/description create mode 100644 tests/files/submodule/dot_git/hooks/applypatch-msg create mode 100644 tests/files/submodule/dot_git/hooks/commit-msg create mode 100644 tests/files/submodule/dot_git/hooks/post-commit create mode 100644 tests/files/submodule/dot_git/hooks/post-receive create mode 100644 tests/files/submodule/dot_git/hooks/post-update create mode 100644 tests/files/submodule/dot_git/hooks/pre-applypatch create mode 100644 tests/files/submodule/dot_git/hooks/pre-commit create mode 100644 tests/files/submodule/dot_git/hooks/pre-rebase create mode 100644 tests/files/submodule/dot_git/hooks/update create mode 100644 tests/files/submodule/dot_git/index create mode 100644 tests/files/submodule/dot_git/info/exclude create mode 100644 tests/files/submodule/dot_git/logs/HEAD create mode 100644 tests/files/submodule/dot_git/logs/refs/heads/diff_over_patches create mode 100644 tests/files/submodule/dot_git/logs/refs/heads/git_grep create mode 100644 tests/files/submodule/dot_git/logs/refs/heads/master create mode 100644 tests/files/submodule/dot_git/logs/refs/heads/test create mode 100644 tests/files/submodule/dot_git/logs/refs/heads/test_branches create mode 100644 tests/files/submodule/dot_git/logs/refs/heads/test_object create mode 100644 tests/files/submodule/dot_git/logs/refs/remotes/working/master create mode 100644 tests/files/submodule/dot_git/modules/unlicense_only/HEAD create mode 100644 tests/files/submodule/dot_git/modules/unlicense_only/config create mode 100644 tests/files/submodule/dot_git/modules/unlicense_only/description create mode 100755 tests/files/submodule/dot_git/modules/unlicense_only/hooks/applypatch-msg.sample create mode 100755 tests/files/submodule/dot_git/modules/unlicense_only/hooks/commit-msg.sample create mode 100755 tests/files/submodule/dot_git/modules/unlicense_only/hooks/fsmonitor-watchman.sample create mode 100755 tests/files/submodule/dot_git/modules/unlicense_only/hooks/post-update.sample create mode 100755 tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-applypatch.sample create mode 100755 tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-commit.sample create mode 100755 tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-push.sample create mode 100755 tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-rebase.sample create mode 100755 tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-receive.sample create mode 100755 tests/files/submodule/dot_git/modules/unlicense_only/hooks/prepare-commit-msg.sample create mode 100755 tests/files/submodule/dot_git/modules/unlicense_only/hooks/update.sample create mode 100644 tests/files/submodule/dot_git/modules/unlicense_only/index create mode 100644 tests/files/submodule/dot_git/modules/unlicense_only/info/exclude create mode 100644 tests/files/submodule/dot_git/modules/unlicense_only/logs/HEAD create mode 100644 tests/files/submodule/dot_git/modules/unlicense_only/logs/refs/heads/master create mode 100644 tests/files/submodule/dot_git/modules/unlicense_only/logs/refs/remotes/origin/HEAD create mode 100644 tests/files/submodule/dot_git/modules/unlicense_only/objects/pack/pack-1cfb165670a7dfea64cc631cc8b400c2abc8c297.idx create mode 100644 tests/files/submodule/dot_git/modules/unlicense_only/objects/pack/pack-1cfb165670a7dfea64cc631cc8b400c2abc8c297.pack create mode 100644 tests/files/submodule/dot_git/modules/unlicense_only/packed-refs create mode 100644 tests/files/submodule/dot_git/modules/unlicense_only/refs/heads/master create mode 100644 tests/files/submodule/dot_git/modules/unlicense_only/refs/remotes/origin/HEAD create mode 100644 tests/files/submodule/dot_git/objects/00/62cdf4c1e63069eececf54325535e91fd57c42 create mode 100644 tests/files/submodule/dot_git/objects/00/ea60e1331b184386392037a7267dfb4a7c7d86 create mode 100644 tests/files/submodule/dot_git/objects/01/0b7b79019cb510d8c5849704fd10541655916d create mode 100644 tests/files/submodule/dot_git/objects/01/dd46ebe07fc30c10c85c2e926c70f2d7058a6b create mode 100644 tests/files/submodule/dot_git/objects/02/b2a02844d00574c234d17bec6294e832f3c4c1 create mode 100644 tests/files/submodule/dot_git/objects/06/f4e8a840d23fc0ab94895a5d16827a19f75fb7 create mode 100644 tests/files/submodule/dot_git/objects/0b/2fe00801b62b7760c23d554796b05abc16af92 create mode 100644 tests/files/submodule/dot_git/objects/0b/5262f6ee3552a99b7081a317e8289d6a4d8e72 create mode 100644 tests/files/submodule/dot_git/objects/0b/c0d846cf80b079e763e35c3af273171bf01fca create mode 100644 tests/files/submodule/dot_git/objects/0c/ac9b660896797e9cc9abb36c081a7ec0d1a7b1 create mode 100644 tests/files/submodule/dot_git/objects/0d/2c47f07277b3ea30b0884f8e3acd68440507c8 create mode 100644 tests/files/submodule/dot_git/objects/0d/519ca9c2eddc44431efe135d0fc8df00e0b975 create mode 100644 tests/files/submodule/dot_git/objects/0f/845a0a981bc2f61354fcdd2b6eafe2b2c55c2d create mode 100644 tests/files/submodule/dot_git/objects/0f/f4a0357c3d7221a2ef1e4c6b7d5c46d97fe250 create mode 100644 tests/files/submodule/dot_git/objects/12/eb889f49f1464b32a51424d7724fb16f6c3a31 create mode 100644 tests/files/submodule/dot_git/objects/15/34a65657edf4e5caaa5ce35652dca5e4c7d316 create mode 100644 tests/files/submodule/dot_git/objects/15/378a1f3eafe4c5ab4f890883356df917ee5539 create mode 100644 tests/files/submodule/dot_git/objects/16/9e6db43d4c09cd610179a7b9826483b4d94123 create mode 100644 tests/files/submodule/dot_git/objects/16/d1f96acfd92d09c4f1f56d3441ac55dd30500e create mode 100644 tests/files/submodule/dot_git/objects/16/ee5335538f11b4ffcc17b051f8d5db7570a055 create mode 100644 tests/files/submodule/dot_git/objects/17/9ef0e0209e90af00f544ff414e0674dfb5f5c7 create mode 100644 tests/files/submodule/dot_git/objects/19/9d2f8e60fddd1bb2a1b0bddedde35e5aa8b03f create mode 100644 tests/files/submodule/dot_git/objects/1c/04149973fb98fe8437fde044eb44cf5eb6ddda create mode 100644 tests/files/submodule/dot_git/objects/1c/c8667014381e2788a94777532a788307f38d26 create mode 100644 tests/files/submodule/dot_git/objects/1c/fcfba04eb4e461e9f930d22f528023ab1ddefc create mode 100644 tests/files/submodule/dot_git/objects/1d/7be4117ded4534789d85c42ab579644cd3fa12 create mode 100644 tests/files/submodule/dot_git/objects/1d/9e4767a95047ca5e395714985afaedb186f4cd create mode 100644 tests/files/submodule/dot_git/objects/1f/09f2edb9c0d9275d15960771b363ca6940fbe3 create mode 100644 tests/files/submodule/dot_git/objects/1f/691b879df15cf6742502ffc59833b4a40e7aef create mode 100644 tests/files/submodule/dot_git/objects/23/751ef6c1fed1304ae1d07020aa73da6f2b93b0 create mode 100644 tests/files/submodule/dot_git/objects/24/5582a71306d7360e40c07cd7d849a1aa14a31e create mode 100644 tests/files/submodule/dot_git/objects/26/3e3c527004e7b742ed1f747c1bfb7e11825d7a create mode 100644 tests/files/submodule/dot_git/objects/27/c0c003dda3e59ba236f53f6661faaf74432b5c create mode 100644 tests/files/submodule/dot_git/objects/29/1b6be488d6abc586d3ee03ca61238766625a75 create mode 100644 tests/files/submodule/dot_git/objects/2a/f6f7d51b7afdd404a871581ebb3b6ac07fb8cc create mode 100644 tests/files/submodule/dot_git/objects/2c/ef51480d44dcc262d16be2812c692d940d5f29 create mode 100644 tests/files/submodule/dot_git/objects/2e/20132e8fd40cb3e82248919a10900d31f1816a create mode 100644 tests/files/submodule/dot_git/objects/2e/939fd37bbd2da971faa27c3e3de7d5aad40507 create mode 100644 tests/files/submodule/dot_git/objects/2f/53e667d1d88e75b3fa300f9ab6e2d8ffd32a15 create mode 100644 tests/files/submodule/dot_git/objects/32/4968b9dc40253f2c52a8e3856398c761dea856 create mode 100644 tests/files/submodule/dot_git/objects/33/8ecb0183d507498aedb669b796b4f9e8880f00 create mode 100644 tests/files/submodule/dot_git/objects/33/edabb4334cbe849a477a0d2893cdb768fa3091 create mode 100644 tests/files/submodule/dot_git/objects/34/a566d193dc4702f03149969a2aad1443231560 create mode 100644 tests/files/submodule/dot_git/objects/36/fe213c328fd280f33abe00069c4b92eb5a88d1 create mode 100644 tests/files/submodule/dot_git/objects/39/66e9fa0e0b9fe9d3ef2fdaa6933f3d0bb82bc3 create mode 100644 tests/files/submodule/dot_git/objects/3a/9f195756f5bd26b67c5e1fffd92d68d61be14e create mode 100644 tests/files/submodule/dot_git/objects/3a/ac4b445017a8fc07502670ec2dbf744213dd48 create mode 100644 tests/files/submodule/dot_git/objects/3b/6eeed9ce43ea893cf48d263da93448edae9f1c create mode 100644 tests/files/submodule/dot_git/objects/3c/644f22b9b8edb06e7e298ecac8e71b133061f1 create mode 100644 tests/files/submodule/dot_git/objects/3c/c71b13d906e445da52785ddeff40dad1163d49 create mode 100644 tests/files/submodule/dot_git/objects/3c/f35bd14cf5f2dd08bbeef8698d700f3a038e5c create mode 100644 tests/files/submodule/dot_git/objects/3d/331db92a8ead0565679efb76f328ae69ed1b77 create mode 100644 tests/files/submodule/dot_git/objects/3e/5eaf50ab28be8f4c7a4e822be066aa93881641 create mode 100644 tests/files/submodule/dot_git/objects/44/88516c3c936db58ea485ec2213dab9d13e6628 create mode 100644 tests/files/submodule/dot_git/objects/44/987dd95c338fb573726541f270f1a7b55c9d51 create mode 100644 tests/files/submodule/dot_git/objects/45/20c29b885e9db9b0df3c7bab7870157e1d00c3 create mode 100644 tests/files/submodule/dot_git/objects/45/b983be36b73c0788dc9cbcb76cbb80fc7bb057 create mode 100644 tests/files/submodule/dot_git/objects/46/00557506be20eb1501a4f15a52e684d4b9ee61 create mode 100644 tests/files/submodule/dot_git/objects/46/a60232117527e7b57ac0dd5ea4af2cd3fdb696 create mode 100644 tests/files/submodule/dot_git/objects/47/0f6a87fa51dd25f6db0f4725ae37791d449356 create mode 100644 tests/files/submodule/dot_git/objects/47/2650d42fa9454e2e61e3da9f5c158b8af6d298 create mode 100644 tests/files/submodule/dot_git/objects/47/8e5ee111572790b248eaa99140c5a8f728abc7 create mode 100644 tests/files/submodule/dot_git/objects/48/bbf0db7e813affab7d8dd2842b8455ff9876be create mode 100644 tests/files/submodule/dot_git/objects/49/b352299735fda3a333c69c6273178b0c3dfa08 create mode 100644 tests/files/submodule/dot_git/objects/4a/1e3e4500962c3631a479726bf2e40469594cba create mode 100644 tests/files/submodule/dot_git/objects/4a/2bee50944e9285e8f82216c9b0b8a7d3cdd315 create mode 100644 tests/files/submodule/dot_git/objects/4a/4e676afe275afecf23130390fe96d0e6d00057 create mode 100644 tests/files/submodule/dot_git/objects/4a/de99433ac3e4bcc874cd7de488de29399e9096 create mode 100644 tests/files/submodule/dot_git/objects/4b/7c90536eaa830d8c1f6ff49a7885b581d6acef create mode 100644 tests/files/submodule/dot_git/objects/4c/411dc8e6ea6fcba0ed56e84aa7707f881d24c7 create mode 100644 tests/files/submodule/dot_git/objects/4c/ce9432b2f80461324a61611f6143f8544cd80f create mode 100644 tests/files/submodule/dot_git/objects/4c/e44a75510cbfe200b131fdbcc56a86f1b2dc08 create mode 100644 tests/files/submodule/dot_git/objects/4d/35ba97a858072c240d327e3ce30c28b333a1b0 create mode 100644 tests/files/submodule/dot_git/objects/4d/ff9ef38ef09cbf0e36031bbee22b7cf0c7a8fc create mode 100644 tests/files/submodule/dot_git/objects/4e/aafb1d843aec4f8f1612d03de46a08c2143ea9 create mode 100644 tests/files/submodule/dot_git/objects/4e/ebc1b62c53241b7fbf7fb33b5230362595bfdd create mode 100644 tests/files/submodule/dot_git/objects/4f/4065121cb78fe6116ae7e3075f5c5a446bd08b create mode 100644 tests/files/submodule/dot_git/objects/50/3d77289b054742f507d8a8ce7cc51d3841d5b9 create mode 100644 tests/files/submodule/dot_git/objects/52/4038b20b297f40d78e7d83e04e38049457312b create mode 100644 tests/files/submodule/dot_git/objects/53/a72df554e585e239e41cb1fc498d5aee9bb164 create mode 100644 tests/files/submodule/dot_git/objects/54/0200385c3b0b299c7a87ecf59ca94c32fbbe99 create mode 100644 tests/files/submodule/dot_git/objects/54/5c81a2e8d1112d5f7356f840a22e8f6abcef8f create mode 100644 tests/files/submodule/dot_git/objects/54/5ffc79786f268524c35e1e05b1770c7c74faf1 create mode 100644 tests/files/submodule/dot_git/objects/54/6bec6f8872efa41d5d97a369f669165ecda0de create mode 100644 tests/files/submodule/dot_git/objects/54/7a4bae347658f0d9eed0d35d31b4561aea7cf8 create mode 100644 tests/files/submodule/dot_git/objects/56/195ef83e9e20ca75dddef0630633fc8060ed11 create mode 100644 tests/files/submodule/dot_git/objects/57/7ddd894033c46a5fcf2c6f3c4e71cc72f86909 create mode 100644 tests/files/submodule/dot_git/objects/58/501cbd0fc5ce832f6b34d37243a520dc19a6cc create mode 100644 tests/files/submodule/dot_git/objects/58/73a650a91eb238005444d2c637b451f687951b create mode 100644 tests/files/submodule/dot_git/objects/5a/28efd2fcf55b7b58eb7cc66b5db836155bc2bb create mode 100644 tests/files/submodule/dot_git/objects/5b/0be7da7cc9ecdb6c2de5f818c30a42fbd2c9fa create mode 100644 tests/files/submodule/dot_git/objects/5c/16fb8b958b51f6008f9722b279b1fde0defb76 create mode 100644 tests/files/submodule/dot_git/objects/5d/4606820736043f9eed2a6336661d6892c820a5 create mode 100644 tests/files/submodule/dot_git/objects/5e/392652a881999392c2757cf9b783c5d47b67f7 create mode 100644 tests/files/submodule/dot_git/objects/5e/53019b3238362144c2766f02a2c00d91fcc023 create mode 100644 tests/files/submodule/dot_git/objects/60/94405a5209406708ffe737077841b45c63fe25 create mode 100644 tests/files/submodule/dot_git/objects/62/70c7f48ca41e6fb41b745ddc1bffe521d83194 create mode 100644 tests/files/submodule/dot_git/objects/62/7e1097cda3b2e3ad6ba4d3772c0985e1ff349c create mode 100644 tests/files/submodule/dot_git/objects/62/bb94c53efae4d53fd0649d129baef4aca87af7 create mode 100644 tests/files/submodule/dot_git/objects/62/c9331ffe97bb6388fb7968662b4e97d121e2da create mode 100644 tests/files/submodule/dot_git/objects/63/1446ec50808846e31fff786c065e69da2c673b create mode 100644 tests/files/submodule/dot_git/objects/64/d0c52ac4c061cf1705e3005dfd86fb70374a14 create mode 100644 tests/files/submodule/dot_git/objects/66/80a909b0e02b297bedbe143ef789d297235358 create mode 100644 tests/files/submodule/dot_git/objects/6a/44b59f6c1e5e51651cd6b642657b89a087950f create mode 100644 tests/files/submodule/dot_git/objects/6b/790ddc5eab30f18cabdd0513e8f8dac0d2d3ed create mode 100644 tests/files/submodule/dot_git/objects/6c/2d312ebd67eed4c7e97e3923b3667764e7360e create mode 100644 tests/files/submodule/dot_git/objects/6d/e8fb35c2e4a69addd030f2dbb4f73fd4742b5b create mode 100644 tests/files/submodule/dot_git/objects/6e/d281c757a969ffe22f3dcfa5830c532479c726 create mode 100644 tests/files/submodule/dot_git/objects/70/714b02913c1a249a5ab05021742f0bc7065df7 create mode 100644 tests/files/submodule/dot_git/objects/71/894b736711ea0a5def4f536009364d07ee4db3 create mode 100644 tests/files/submodule/dot_git/objects/71/c9a23879ff0ac8c49b92d107f3f89c6d1b2d92 create mode 100644 tests/files/submodule/dot_git/objects/73/b171450704ea4350f9f884426389fe04c6cd51 create mode 100644 tests/files/submodule/dot_git/objects/74/32b657191a10587335e74ae6f0966a7eed2976 create mode 100644 tests/files/submodule/dot_git/objects/79/e5b9e6ee5a1e6c52676a6332fe9163adaa92cb create mode 100644 tests/files/submodule/dot_git/objects/7c/076f209839d7f910e8c84e41cc94898287ef45 create mode 100644 tests/files/submodule/dot_git/objects/7c/60c6ab64c74d52f973d18cd1933318a8d9ae2e create mode 100644 tests/files/submodule/dot_git/objects/7c/ac4f8d519d524ed025732ee220f6451665a770 create mode 100644 tests/files/submodule/dot_git/objects/7f/5625f6b3c7213287a12c89017361248ed88936 create mode 100644 tests/files/submodule/dot_git/objects/7f/86d16e0254f64f784198c6a55ef9bf7adbe7ce create mode 100644 tests/files/submodule/dot_git/objects/7f/bfee9f8882ada1ec45c4925baf5649d96c4a16 create mode 100644 tests/files/submodule/dot_git/objects/81/25fbe8605d2884e732a185c9a24abcc0d12a1f create mode 100644 tests/files/submodule/dot_git/objects/81/d4d5e9b6db474d0f432aa31d44bf690d841e94 create mode 100644 tests/files/submodule/dot_git/objects/81/f545324202466d44115656ea463a5bb114345f create mode 100644 tests/files/submodule/dot_git/objects/82/d331cf4d3d4ee537c4f866cab2633b46a8d090 create mode 100644 tests/files/submodule/dot_git/objects/83/c6a1f0d7d8df18a9d9bfe917707aec37868418 create mode 100644 tests/files/submodule/dot_git/objects/85/8f46dd7496faf7af72102ca15cccff832b5377 create mode 100644 tests/files/submodule/dot_git/objects/87/c56502c73149f006631129f85dff697e000356 create mode 100644 tests/files/submodule/dot_git/objects/88/cf23d06f519bec7b824acd52b87a729555f2e7 create mode 100644 tests/files/submodule/dot_git/objects/8a/3fb747983bf2a7f4ef136af4bfcf7993a19307 create mode 100644 tests/files/submodule/dot_git/objects/8b/00d915a0ee5aeb32e0b166e1054c2901338c9d create mode 100644 tests/files/submodule/dot_git/objects/8c/e3ee48a7e7ec697a99ee33700ec624548ad9e8 create mode 100644 tests/files/submodule/dot_git/objects/8d/ae07ab9d98b5fe04d4d7ed804cc36441b68dab create mode 100644 tests/files/submodule/dot_git/objects/8d/c79ae7616abf1e2d4d5d97d566f2b2f6cee043 create mode 100644 tests/files/submodule/dot_git/objects/8e/33476f852fffb06e22b244c0f97093588567ee create mode 100644 tests/files/submodule/dot_git/objects/92/4dec9203af851c3b3e564697ab3004b35b3c2f create mode 100644 tests/files/submodule/dot_git/objects/93/06c056ba3ef9dca6f6365af38148c71196533a create mode 100644 tests/files/submodule/dot_git/objects/93/5badc874edd62a8629aaf103418092c73f0a56 create mode 100644 tests/files/submodule/dot_git/objects/94/c827875e2cadb8bc8d4cdd900f19aa9e8634c7 create mode 100644 tests/files/submodule/dot_git/objects/95/ef665df6ebd69842c5e74a24cb8a12225dee3e create mode 100644 tests/files/submodule/dot_git/objects/98/fb6a686563963b8f7e552d747158adbc1c2bd6 create mode 100644 tests/files/submodule/dot_git/objects/99/3dd9b1cdeab53e305886c91dbcbc8929eff22e create mode 100644 tests/files/submodule/dot_git/objects/9a/e1fbd7636c99d34fdd395cf9bb21ad51417ce7 create mode 100644 tests/files/submodule/dot_git/objects/9b/5149aa4ace4ef69461803b0ccbb21139e12626 create mode 100644 tests/files/submodule/dot_git/objects/9d/3ad2f09cb7a1d4f4c91182c96f2be537fbc4ff create mode 100644 tests/files/submodule/dot_git/objects/9d/6f937544dc3b936d6ee1466d6e216ba18d5686 create mode 100644 tests/files/submodule/dot_git/objects/9f/a43bcd45af28e109e6f7b9a6ccd26e8e193a63 create mode 100644 tests/files/submodule/dot_git/objects/a0/b3f35b3c39cfb12c4cc819bffe1cf54efb3642 create mode 100644 tests/files/submodule/dot_git/objects/a1/15413501949f4f09811fd1aaecf136c012c7d7 create mode 100644 tests/files/submodule/dot_git/objects/a1/a3069efcc64330fb6c66004e69b870da3d6186 create mode 100644 tests/files/submodule/dot_git/objects/a3/62d30d5fe1021cabc4c90f073ba2511d5a43a1 create mode 100644 tests/files/submodule/dot_git/objects/a3/c1f067074cdc9aa998cb5f3cad46a6f17aab2d create mode 100644 tests/files/submodule/dot_git/objects/a3/db7143944dcfa006fefe7fb49c48793cb29ade create mode 100644 tests/files/submodule/dot_git/objects/a4/4a5e945176ff31be83ffca3e7c68a8b6a45ea5 create mode 100644 tests/files/submodule/dot_git/objects/a5/1546fabf88ddef5a9fd91b3989dd8ccae2edf3 create mode 100644 tests/files/submodule/dot_git/objects/a6/b25c4b27ee99f93fd611154202af5f9e3c99de create mode 100644 tests/files/submodule/dot_git/objects/a7/88a1cba299638a2c898fcfaae1f69a1549853d create mode 100644 tests/files/submodule/dot_git/objects/a8/98e8a6b143188022863bc1cab0b5f7514624ba create mode 100644 tests/files/submodule/dot_git/objects/a8/b607b221454c4cd7bc7831b2d19712bb4ff888 create mode 100644 tests/files/submodule/dot_git/objects/a9/e2d9b71b616531f04a65ae5b972ba5d1f2cb93 create mode 100644 tests/files/submodule/dot_git/objects/a9/e2f17562ae78a75dc855bb3dc9e87364195dcf create mode 100644 tests/files/submodule/dot_git/objects/ab/16bc1812fd6226780a841300a2432dfd0c6719 create mode 100644 tests/files/submodule/dot_git/objects/ac/8f48bbb7b31c945ba6a4fbe6950d009a5d8373 create mode 100644 tests/files/submodule/dot_git/objects/ae/21cabd23aee99a719fc828977c0df9e8b19363 create mode 100644 tests/files/submodule/dot_git/objects/b0/3003311ad3fa368b475df58390353868e13c91 create mode 100644 tests/files/submodule/dot_git/objects/b0/ee249c5e5cc9464f3bc0034ab05632dcb87a23 create mode 100644 tests/files/submodule/dot_git/objects/b1/288f8beeaa6cf048c3a9f578d4e266fab8820e create mode 100644 tests/files/submodule/dot_git/objects/b1/5336206c9040f4c52660b3f3c76ee02ccece56 create mode 100644 tests/files/submodule/dot_git/objects/b1/b18f5bea24648a1b08e5bba88728c15ec3cb50 create mode 100644 tests/files/submodule/dot_git/objects/b4/5724ee906d2561901208ba924add09ab95ccb3 create mode 100644 tests/files/submodule/dot_git/objects/b5/d8fc3cb740eb643c66eb5f4a97345fdb806259 create mode 100644 tests/files/submodule/dot_git/objects/b6/153b8fe540288d66b974ae05113338ab1a61f0 create mode 100644 tests/files/submodule/dot_git/objects/b6/987bc1201ad19774c43c0ea8078f6f51d76bcb create mode 100644 tests/files/submodule/dot_git/objects/b6/9e6acd87e5f9114ce6580b095ef1057a8fe5bb create mode 100644 tests/files/submodule/dot_git/objects/b9/84607a41cc1f5c512a49213404b1b4cf8df4a6 create mode 100644 tests/files/submodule/dot_git/objects/b9/8f4909807c8c84a1dc1b62b4a339ae1777f369 create mode 100644 tests/files/submodule/dot_git/objects/ba/492c62b6227d7f3507b4dcc6e6d5f13790eabf create mode 100644 tests/files/submodule/dot_git/objects/ba/c335cb9dc058a477d04cde34c07d1f70d16fb9 create mode 100644 tests/files/submodule/dot_git/objects/bb/0850568bb43049031a38b01ddb60e4a487f823 create mode 100644 tests/files/submodule/dot_git/objects/be/b14380ef26540efcad06bedcd0e302b6bce70e create mode 100644 tests/files/submodule/dot_git/objects/c1/3142dd26a1f6f38403a17f6c411cb621b9a1cd create mode 100644 tests/files/submodule/dot_git/objects/c1/8b4e9b0829411705d7fa9a1570a20d88780817 create mode 100644 tests/files/submodule/dot_git/objects/c2/4a99398a725e07129987b80b4d48614884aa08 create mode 100644 tests/files/submodule/dot_git/objects/c5/a3fdb33f052b8f17dac83c533b62244226f4ba create mode 100644 tests/files/submodule/dot_git/objects/c6/567e2feccce3893ae0aaac2bf97807338aa8d4 create mode 100644 tests/files/submodule/dot_git/objects/cb/45eef6fa1ad913137d91c6b81d2b42d69094a6 create mode 100644 tests/files/submodule/dot_git/objects/cd/0d59357b36a447ff27a7c176b46e0a319b42df create mode 100644 tests/files/submodule/dot_git/objects/cd/4291452a61ff8b57cf5510addc8ddc5630748e create mode 100644 tests/files/submodule/dot_git/objects/cf/7135368cc3bf4920ceeaeebd083e098cfad355 create mode 100644 tests/files/submodule/dot_git/objects/cf/b9952c3a28831144a0fac7ea5a2d8517f466c4 create mode 100644 tests/files/submodule/dot_git/objects/d0/0491fd7e5bb6fa28c517a0bb32b8b506539d4d create mode 100644 tests/files/submodule/dot_git/objects/d1/4cbc09cc34fb6450b2e96432102be51c8292b8 create mode 100644 tests/files/submodule/dot_git/objects/d3/d171221e87a30e059d638f155f899595d96b71 create mode 100644 tests/files/submodule/dot_git/objects/d5/b9587b65731e25216743b0caca72051a760211 create mode 100644 tests/files/submodule/dot_git/objects/d6/46165a1e3a89399f72c1ffc1fcd76814c5ce1d create mode 100644 tests/files/submodule/dot_git/objects/d6/a3aab3e38bc16688b4e636a91e462434210878 create mode 100644 tests/files/submodule/dot_git/objects/d6/f31c35d7e010e50568c0d605227028aa7bac66 create mode 100644 tests/files/submodule/dot_git/objects/d7/875788aeafdd8e317880c00e3372f683cad91e create mode 100644 tests/files/submodule/dot_git/objects/d7/d8a71a719e2a4ca501991a66dab47df804f6ad create mode 100644 tests/files/submodule/dot_git/objects/d7/e844eec32d74a3d37c4ce02d7138658e1035d6 create mode 100644 tests/files/submodule/dot_git/objects/da/597fb7fba247a5b59d917e90342cf4b9695905 create mode 100644 tests/files/submodule/dot_git/objects/da/7b788b1575936a4381050610a37737c70b55a0 create mode 100644 tests/files/submodule/dot_git/objects/de/996da0ef3dcee1a28aef9243aa3e255eb825b5 create mode 100644 tests/files/submodule/dot_git/objects/de/d54b45e4d49816f6d4256e74d45ba2bb351357 create mode 100644 tests/files/submodule/dot_git/objects/e3/6f723934fd1d67c7d21538751f0b1e941141db create mode 100644 tests/files/submodule/dot_git/objects/e3/ebef76525fe9e6e8dc739934a08512dff777c0 create mode 100644 tests/files/submodule/dot_git/objects/e5/0fa6835cb99747346f19fea5f1ba939da4205f create mode 100644 tests/files/submodule/dot_git/objects/e5/650a5c9c4b5a4415195bfb01d4d8dccbc8221b create mode 100644 tests/files/submodule/dot_git/objects/e5/76bdfc9ed4627ac954f9390cf7a6151ad2a73e create mode 100644 tests/files/submodule/dot_git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 create mode 100644 tests/files/submodule/dot_git/objects/e7/ea5938f9c009d32235050bca991d0b9533e440 create mode 100644 tests/files/submodule/dot_git/objects/e8/183f05f5db68b3934e93f4bf6bed2bb664e0b5 create mode 100644 tests/files/submodule/dot_git/objects/e8/bd03b163f82fba4560c11839d49361a78dec85 create mode 100644 tests/files/submodule/dot_git/objects/e9/0de8268373e4fd5ab13310b7745d47ec16813c create mode 100644 tests/files/submodule/dot_git/objects/ec/16a327a6a98367d03369b4e998baf3db379313 create mode 100644 tests/files/submodule/dot_git/objects/ec/1e3d44e160e18dbfbaa80b5b0780ccc03e678e create mode 100644 tests/files/submodule/dot_git/objects/ed/551aa66cf0c6f1a078832f80899faff0ae88dc create mode 100644 tests/files/submodule/dot_git/objects/f1/25480ee106989ec4d86554c0d5a1487ad4336a create mode 100644 tests/files/submodule/dot_git/objects/f1/410f8735f6f73d3599eb9b5cdd2fb70373335c create mode 100644 tests/files/submodule/dot_git/objects/f2/02cb755135d4263589602783b04fb32a079d88 create mode 100644 tests/files/submodule/dot_git/objects/f2/ff401fb3fc81f8abb3ca15247aadc1e22b6288 create mode 100644 tests/files/submodule/dot_git/objects/f5/501de98279c6454f510188873476f3ead0cee6 create mode 100644 tests/files/submodule/dot_git/objects/f7/5f313ca30e534aa9c42463e85108e682d3a14a create mode 100644 tests/files/submodule/dot_git/objects/f8/e9c6748331411c0d3511f90bd4e0a1a30acff0 create mode 100644 tests/files/submodule/dot_git/objects/f9/bce8995109cfab475d043a7dd9156d5e574ed3 create mode 100644 tests/files/submodule/dot_git/objects/fa/6312f71abb153ada6a0399ad710d21bb61e4d8 create mode 100644 tests/files/submodule/dot_git/objects/fb/8e78840d79085abf50edebf5b9d6b73ee0fb4c create mode 100644 tests/files/submodule/dot_git/objects/fc/b49fa99454f804799a12095292edbca48779ab create mode 100644 tests/files/submodule/dot_git/objects/fe/b2ccf88397c2d93f381176067be2727eba330b create mode 100644 tests/files/submodule/dot_git/refs/heads/diff_over_patches create mode 100644 tests/files/submodule/dot_git/refs/heads/git_grep create mode 100644 tests/files/submodule/dot_git/refs/heads/master create mode 100644 tests/files/submodule/dot_git/refs/heads/test create mode 100644 tests/files/submodule/dot_git/refs/heads/test_branches create mode 100644 tests/files/submodule/dot_git/refs/heads/test_object create mode 100644 tests/files/submodule/dot_git/refs/remotes/working/master create mode 100644 tests/files/submodule/dot_git/refs/tags/gitsearch1 create mode 100644 tests/files/submodule/dot_git/refs/tags/v2.5 create mode 100644 tests/files/submodule/dot_git/refs/tags/v2.6 create mode 100644 tests/files/submodule/dot_git/refs/tags/v2.7 create mode 100644 tests/files/submodule/dot_git/refs/tags/v2.8 create mode 100644 tests/files/submodule/ex_dir/ex.txt create mode 100644 tests/files/submodule/example.txt create mode 100644 tests/files/submodule/scott/newfile create mode 100644 tests/files/submodule/scott/text.txt create mode 100644 tests/files/submodule/unlicense_only/LICENSE create mode 100644 tests/files/submodule/unlicense_only/dot_git create mode 100644 tests/units/test_submodule.rb diff --git a/tests/files/submodule/.gitmodules b/tests/files/submodule/.gitmodules new file mode 100644 index 000000000..3e5eaf50a --- /dev/null +++ b/tests/files/submodule/.gitmodules @@ -0,0 +1,3 @@ +[submodule "unlicense_only"] + path = unlicense_only + url = git@github.com:hatkyinc2/unlicense_only.git diff --git a/tests/files/submodule/dot_git/COMMIT_EDITMSG b/tests/files/submodule/dot_git/COMMIT_EDITMSG new file mode 100644 index 000000000..90ce2082b --- /dev/null +++ b/tests/files/submodule/dot_git/COMMIT_EDITMSG @@ -0,0 +1 @@ +Add submodule diff --git a/tests/files/submodule/dot_git/FETCH_HEAD b/tests/files/submodule/dot_git/FETCH_HEAD new file mode 100644 index 000000000..db0291fa5 --- /dev/null +++ b/tests/files/submodule/dot_git/FETCH_HEAD @@ -0,0 +1 @@ +545ffc79786f268524c35e1e05b1770c7c74faf1 not-for-merge branch 'master' of ../working diff --git a/tests/files/submodule/dot_git/HEAD b/tests/files/submodule/dot_git/HEAD new file mode 100644 index 000000000..d89dfe9d6 --- /dev/null +++ b/tests/files/submodule/dot_git/HEAD @@ -0,0 +1 @@ +ref: refs/heads/git_grep diff --git a/tests/files/submodule/dot_git/config b/tests/files/submodule/dot_git/config new file mode 100644 index 000000000..f692ed14c --- /dev/null +++ b/tests/files/submodule/dot_git/config @@ -0,0 +1,18 @@ +[user] + name = Scott Chacon + email = schacon@gmail.com +[commit] + gpgsign = false +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true +[gui] + geometry = 986x682+365+124 211 500 +[remote "working"] + url = ../working.git + fetch = +refs/heads/*:refs/remotes/working/* +[submodule "unlicense_only"] + url = git@github.com:hatkyinc2/unlicense_only.git + active = true diff --git a/tests/files/submodule/dot_git/description b/tests/files/submodule/dot_git/description new file mode 100644 index 000000000..c6f25e80b --- /dev/null +++ b/tests/files/submodule/dot_git/description @@ -0,0 +1 @@ +Unnamed repository; edit this file to name it for gitweb. diff --git a/tests/files/submodule/dot_git/hooks/applypatch-msg b/tests/files/submodule/dot_git/hooks/applypatch-msg new file mode 100644 index 000000000..02de1ef84 --- /dev/null +++ b/tests/files/submodule/dot_git/hooks/applypatch-msg @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, make this file executable. + +. git-sh-setup +test -x "$GIT_DIR/hooks/commit-msg" && + exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} +: diff --git a/tests/files/submodule/dot_git/hooks/commit-msg b/tests/files/submodule/dot_git/hooks/commit-msg new file mode 100644 index 000000000..c5cdb9d7e --- /dev/null +++ b/tests/files/submodule/dot_git/hooks/commit-msg @@ -0,0 +1,21 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by git-commit with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, make this file executable. + +# Uncomment the below to add a Signed-off-by line to the message. +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/tests/files/submodule/dot_git/hooks/post-commit b/tests/files/submodule/dot_git/hooks/post-commit new file mode 100644 index 000000000..8be6f34ad --- /dev/null +++ b/tests/files/submodule/dot_git/hooks/post-commit @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script that is called after a successful +# commit is made. +# +# To enable this hook, make this file executable. + +: Nothing diff --git a/tests/files/submodule/dot_git/hooks/post-receive b/tests/files/submodule/dot_git/hooks/post-receive new file mode 100644 index 000000000..b70c8fd36 --- /dev/null +++ b/tests/files/submodule/dot_git/hooks/post-receive @@ -0,0 +1,16 @@ +#!/bin/sh +# +# An example hook script for the post-receive event +# +# This script is run after receive-pack has accepted a pack and the +# repository has been updated. It is passed arguments in through stdin +# in the form +# +# For example: +# aa453216d1b3e49e7f6f98441fa56946ddcd6a20 68f7abf4e6f922807889f52bc043ecd31b79f814 refs/heads/master +# +# see contrib/hooks/ for an sample, or uncomment the next line (on debian) +# + + +#. /usr/share/doc/git-core/contrib/hooks/post-receive-email diff --git a/tests/files/submodule/dot_git/hooks/post-update b/tests/files/submodule/dot_git/hooks/post-update new file mode 100644 index 000000000..bcba8937b --- /dev/null +++ b/tests/files/submodule/dot_git/hooks/post-update @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, make this file executable by "chmod +x post-update". + +exec git-update-server-info diff --git a/tests/files/submodule/dot_git/hooks/pre-applypatch b/tests/files/submodule/dot_git/hooks/pre-applypatch new file mode 100644 index 000000000..eeccc934c --- /dev/null +++ b/tests/files/submodule/dot_git/hooks/pre-applypatch @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, make this file executable. + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} +: diff --git a/tests/files/submodule/dot_git/hooks/pre-commit b/tests/files/submodule/dot_git/hooks/pre-commit new file mode 100644 index 000000000..18b87309f --- /dev/null +++ b/tests/files/submodule/dot_git/hooks/pre-commit @@ -0,0 +1,70 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by git-commit with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, make this file executable. + +# This is slightly modified from Andrew Morton's Perfect Patch. +# Lines you introduce should not have trailing whitespace. +# Also check for an indentation that has SP before a TAB. + +if git-rev-parse --verify HEAD 2>/dev/null +then + git-diff-index -p -M --cached HEAD +else + # NEEDSWORK: we should produce a diff with an empty tree here + # if we want to do the same verification for the initial import. + : +fi | +perl -e ' + my $found_bad = 0; + my $filename; + my $reported_filename = ""; + my $lineno; + sub bad_line { + my ($why, $line) = @_; + if (!$found_bad) { + print STDERR "*\n"; + print STDERR "* You have some suspicious patch lines:\n"; + print STDERR "*\n"; + $found_bad = 1; + } + if ($reported_filename ne $filename) { + print STDERR "* In $filename\n"; + $reported_filename = $filename; + } + print STDERR "* $why (line $lineno)\n"; + print STDERR "$filename:$lineno:$line\n"; + } + while (<>) { + if (m|^diff --git a/(.*) b/\1$|) { + $filename = $1; + next; + } + if (/^@@ -\S+ \+(\d+)/) { + $lineno = $1 - 1; + next; + } + if (/^ /) { + $lineno++; + next; + } + if (s/^\+//) { + $lineno++; + chomp; + if (/\s$/) { + bad_line("trailing whitespace", $_); + } + if (/^\s* /) { + bad_line("indent SP followed by a TAB", $_); + } + if (/^(?:[<>=]){7}/) { + bad_line("unresolved merge conflict", $_); + } + } + } + exit($found_bad); +' diff --git a/tests/files/submodule/dot_git/hooks/pre-rebase b/tests/files/submodule/dot_git/hooks/pre-rebase new file mode 100644 index 000000000..981c454cd --- /dev/null +++ b/tests/files/submodule/dot_git/hooks/pre-rebase @@ -0,0 +1,150 @@ +#!/bin/sh +# +# Copyright (c) 2006 Junio C Hamano +# + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` +fi + +case "$basebranch,$topic" in +master,refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Is topic fully merged to master? +not_in_master=`git-rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git-rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git-rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git-rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up-to-date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git-rev-list --pretty=oneline ^${publish} "$topic"` + perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +exit 0 + +################################################################ + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git-rev-list ^master ^topic next + git-rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git-rev-list master..topic + + if this is empty, it is fully merged to "master". diff --git a/tests/files/submodule/dot_git/hooks/update b/tests/files/submodule/dot_git/hooks/update new file mode 100644 index 000000000..d8c76264b --- /dev/null +++ b/tests/files/submodule/dot_git/hooks/update @@ -0,0 +1,78 @@ +#!/bin/sh +# +# An example hook script to blocks unannotated tags from entering. +# Called by git-receive-pack with arguments: refname sha1-old sha1-new +# +# To enable this hook, make this file executable by "chmod +x update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git-repo-config --bool hooks.allowunannotated) + +# check for no description +projectdesc=$(sed -e '1p' "$GIT_DIR/description") +if [ -z "$projectdesc" -o "$projectdesc" = "Unnamed repository; edit this file to name it for gitweb" ]; then + echo "*** Project description file hasn't been set" >&2 + exit 1 +fi + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a branch +if [ "$newrev" = "0000000000000000000000000000000000000000" ]; then + newrev_type=commit +else + newrev_type=$(git-cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + ;; + refs/heads/*,commit) + # branch + ;; + refs/remotes/*,commit) + # tracking branch + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/tests/files/submodule/dot_git/index b/tests/files/submodule/dot_git/index new file mode 100644 index 0000000000000000000000000000000000000000..6a2ece0db76bb157c8378542563bf2dc8db6c1d2 GIT binary patch literal 606 zcmZ?q402{*U|<4bw)kMP-8|QBmcwYEm??vh#3=@b#w834%r79AA>A%+eZXpsef>UF zeofjB(pF9G5OZYU)=SSU$<0qG%}Ff=Y6JnGIsHQYt*S5@C}heYW>Je~9>cS_k7jSW zc+J_nTXS7`)Qv+=dV(i1@TOM8r(_oCr&j2dRFvR0Pe|efnt4jS$7elH%-S!f>l-`$ zYTBnw-_AX7X5db(NX#wBNrjt+(|z@5=849-u{E)qvDnXhtCeh)CYv$ogu+q=-s0r^ zk`n#A)bg~mb26o|n8+de`^@Z7retpi8Id8_mSDKfTnVgzeoEo2> zms1JUzz`DT>I$U77|axmxDI*EwCpO1V;7p)zJuG>BhjN}6$jV}3`PnDT&@a-W_QHR z-MQhuP4()E0?|5IhQp8uVK4+rXIJvxiCb;(v1j#NR^b;vZXLLE`7P5MMM3FXm#zOD P+WDtiwC~+|pP&!`>VU 1194483057 -0800 commit (initial): example git repo +545ffc79786f268524c35e1e05b1770c7c74faf1 6270c7f48ca41e6fb41b745ddc1bffe521d83194 scott Chacon 1194549616 -0800 commit: again +6270c7f48ca41e6fb41b745ddc1bffe521d83194 0d2c47f07277b3ea30b0884f8e3acd68440507c8 scott Chacon 1194549634 -0800 commit: again +0d2c47f07277b3ea30b0884f8e3acd68440507c8 e36f723934fd1d67c7d21538751f0b1e941141db scott Chacon 1194549635 -0800 commit: again +e36f723934fd1d67c7d21538751f0b1e941141db a44a5e945176ff31be83ffca3e7c68a8b6a45ea5 scott Chacon 1194549635 -0800 commit: again +a44a5e945176ff31be83ffca3e7c68a8b6a45ea5 81d4d5e9b6db474d0f432aa31d44bf690d841e94 scott Chacon 1194549636 -0800 commit: again +81d4d5e9b6db474d0f432aa31d44bf690d841e94 71894b736711ea0a5def4f536009364d07ee4db3 scott Chacon 1194549636 -0800 commit: again +71894b736711ea0a5def4f536009364d07ee4db3 b1b18f5bea24648a1b08e5bba88728c15ec3cb50 scott Chacon 1194549637 -0800 commit: again +b1b18f5bea24648a1b08e5bba88728c15ec3cb50 4ade99433ac3e4bcc874cd7de488de29399e9096 scott Chacon 1194549637 -0800 commit: again +4ade99433ac3e4bcc874cd7de488de29399e9096 ae21cabd23aee99a719fc828977c0df9e8b19363 scott Chacon 1194549637 -0800 commit: again +ae21cabd23aee99a719fc828977c0df9e8b19363 d5b9587b65731e25216743b0caca72051a760211 scott Chacon 1194549638 -0800 commit: again +d5b9587b65731e25216743b0caca72051a760211 a788a1cba299638a2c898fcfaae1f69a1549853d scott Chacon 1194549638 -0800 commit: again +a788a1cba299638a2c898fcfaae1f69a1549853d 0f845a0a981bc2f61354fcdd2b6eafe2b2c55c2d scott Chacon 1194549639 -0800 commit: again +0f845a0a981bc2f61354fcdd2b6eafe2b2c55c2d f125480ee106989ec4d86554c0d5a1487ad4336a scott Chacon 1194549639 -0800 commit: again +f125480ee106989ec4d86554c0d5a1487ad4336a a6b25c4b27ee99f93fd611154202af5f9e3c99de scott Chacon 1194549639 -0800 commit: again +a6b25c4b27ee99f93fd611154202af5f9e3c99de 9ae1fbd7636c99d34fdd395cf9bb21ad51417ce7 scott Chacon 1194549640 -0800 commit: again +9ae1fbd7636c99d34fdd395cf9bb21ad51417ce7 88cf23d06f519bec7b824acd52b87a729555f2e7 scott Chacon 1194549640 -0800 commit: again +88cf23d06f519bec7b824acd52b87a729555f2e7 36fe213c328fd280f33abe00069c4b92eb5a88d1 scott Chacon 1194549640 -0800 commit: again +36fe213c328fd280f33abe00069c4b92eb5a88d1 53a72df554e585e239e41cb1fc498d5aee9bb164 scott Chacon 1194549641 -0800 commit: again +53a72df554e585e239e41cb1fc498d5aee9bb164 4d35ba97a858072c240d327e3ce30c28b333a1b0 scott Chacon 1194549641 -0800 commit: again +4d35ba97a858072c240d327e3ce30c28b333a1b0 324968b9dc40253f2c52a8e3856398c761dea856 scott Chacon 1194549642 -0800 commit: again +324968b9dc40253f2c52a8e3856398c761dea856 6c2d312ebd67eed4c7e97e3923b3667764e7360e scott Chacon 1194549642 -0800 commit: again +6c2d312ebd67eed4c7e97e3923b3667764e7360e d14cbc09cc34fb6450b2e96432102be51c8292b8 scott Chacon 1194549642 -0800 commit: again +d14cbc09cc34fb6450b2e96432102be51c8292b8 a3c1f067074cdc9aa998cb5f3cad46a6f17aab2d scott Chacon 1194549643 -0800 commit: again +a3c1f067074cdc9aa998cb5f3cad46a6f17aab2d f5501de98279c6454f510188873476f3ead0cee6 scott Chacon 1194549643 -0800 commit: again +f5501de98279c6454f510188873476f3ead0cee6 8125fbe8605d2884e732a185c9a24abcc0d12a1f scott Chacon 1194549644 -0800 commit: again +8125fbe8605d2884e732a185c9a24abcc0d12a1f e576bdfc9ed4627ac954f9390cf7a6151ad2a73e scott Chacon 1194549644 -0800 commit: again +e576bdfc9ed4627ac954f9390cf7a6151ad2a73e b6153b8fe540288d66b974ae05113338ab1a61f0 scott Chacon 1194549644 -0800 commit: again +b6153b8fe540288d66b974ae05113338ab1a61f0 a51546fabf88ddef5a9fd91b3989dd8ccae2edf3 scott Chacon 1194549645 -0800 commit: again +a51546fabf88ddef5a9fd91b3989dd8ccae2edf3 81f545324202466d44115656ea463a5bb114345f scott Chacon 1194549645 -0800 commit: again +81f545324202466d44115656ea463a5bb114345f 0d519ca9c2eddc44431efe135d0fc8df00e0b975 scott Chacon 1194549646 -0800 commit: again +0d519ca9c2eddc44431efe135d0fc8df00e0b975 f2ff401fb3fc81f8abb3ca15247aadc1e22b6288 scott Chacon 1194549646 -0800 commit: again +f2ff401fb3fc81f8abb3ca15247aadc1e22b6288 d6f31c35d7e010e50568c0d605227028aa7bac66 scott Chacon 1194549646 -0800 commit: again +d6f31c35d7e010e50568c0d605227028aa7bac66 5873a650a91eb238005444d2c637b451f687951b scott Chacon 1194549647 -0800 commit: again +5873a650a91eb238005444d2c637b451f687951b 547a4bae347658f0d9eed0d35d31b4561aea7cf8 scott Chacon 1194549647 -0800 commit: again +547a4bae347658f0d9eed0d35d31b4561aea7cf8 15378a1f3eafe4c5ab4f890883356df917ee5539 scott Chacon 1194549648 -0800 commit: again +15378a1f3eafe4c5ab4f890883356df917ee5539 8dae07ab9d98b5fe04d4d7ed804cc36441b68dab scott Chacon 1194549648 -0800 commit: again +8dae07ab9d98b5fe04d4d7ed804cc36441b68dab e50fa6835cb99747346f19fea5f1ba939da4205f scott Chacon 1194549649 -0800 commit: again +e50fa6835cb99747346f19fea5f1ba939da4205f 5b0be7da7cc9ecdb6c2de5f818c30a42fbd2c9fa scott Chacon 1194549649 -0800 commit: again +5b0be7da7cc9ecdb6c2de5f818c30a42fbd2c9fa 62bb94c53efae4d53fd0649d129baef4aca87af7 scott Chacon 1194549649 -0800 commit: again +62bb94c53efae4d53fd0649d129baef4aca87af7 beb14380ef26540efcad06bedcd0e302b6bce70e scott Chacon 1194549650 -0800 commit: again +beb14380ef26540efcad06bedcd0e302b6bce70e f1410f8735f6f73d3599eb9b5cdd2fb70373335c scott Chacon 1194549650 -0800 commit: again +f1410f8735f6f73d3599eb9b5cdd2fb70373335c b03003311ad3fa368b475df58390353868e13c91 scott Chacon 1194549651 -0800 commit: again +b03003311ad3fa368b475df58390353868e13c91 9fa43bcd45af28e109e6f7b9a6ccd26e8e193a63 scott Chacon 1194549651 -0800 commit: again +9fa43bcd45af28e109e6f7b9a6ccd26e8e193a63 8ce3ee48a7e7ec697a99ee33700ec624548ad9e8 scott Chacon 1194549651 -0800 commit: again +8ce3ee48a7e7ec697a99ee33700ec624548ad9e8 a0b3f35b3c39cfb12c4cc819bffe1cf54efb3642 scott Chacon 1194549652 -0800 commit: again +a0b3f35b3c39cfb12c4cc819bffe1cf54efb3642 2e939fd37bbd2da971faa27c3e3de7d5aad40507 scott Chacon 1194549652 -0800 commit: again +2e939fd37bbd2da971faa27c3e3de7d5aad40507 cf7135368cc3bf4920ceeaeebd083e098cfad355 scott Chacon 1194549653 -0800 commit: again +cf7135368cc3bf4920ceeaeebd083e098cfad355 631446ec50808846e31fff786c065e69da2c673b scott Chacon 1194549653 -0800 commit: again +631446ec50808846e31fff786c065e69da2c673b 70714b02913c1a249a5ab05021742f0bc7065df7 scott Chacon 1194549654 -0800 commit: again +70714b02913c1a249a5ab05021742f0bc7065df7 82d331cf4d3d4ee537c4f866cab2633b46a8d090 scott Chacon 1194549654 -0800 commit: again +82d331cf4d3d4ee537c4f866cab2633b46a8d090 5c16fb8b958b51f6008f9722b279b1fde0defb76 scott Chacon 1194549654 -0800 commit: again +5c16fb8b958b51f6008f9722b279b1fde0defb76 8b00d915a0ee5aeb32e0b166e1054c2901338c9d scott Chacon 1194549655 -0800 commit: again +8b00d915a0ee5aeb32e0b166e1054c2901338c9d 478e5ee111572790b248eaa99140c5a8f728abc7 scott Chacon 1194549655 -0800 commit: again +478e5ee111572790b248eaa99140c5a8f728abc7 feb2ccf88397c2d93f381176067be2727eba330b scott Chacon 1194549656 -0800 commit: again +feb2ccf88397c2d93f381176067be2727eba330b b98f4909807c8c84a1dc1b62b4a339ae1777f369 scott Chacon 1194549656 -0800 commit: again +b98f4909807c8c84a1dc1b62b4a339ae1777f369 87c56502c73149f006631129f85dff697e000356 scott Chacon 1194549657 -0800 commit: again +87c56502c73149f006631129f85dff697e000356 291b6be488d6abc586d3ee03ca61238766625a75 scott Chacon 1194549657 -0800 commit: again +291b6be488d6abc586d3ee03ca61238766625a75 545c81a2e8d1112d5f7356f840a22e8f6abcef8f scott Chacon 1194549657 -0800 commit: again +545c81a2e8d1112d5f7356f840a22e8f6abcef8f 00ea60e1331b184386392037a7267dfb4a7c7d86 scott Chacon 1194549658 -0800 commit: again +00ea60e1331b184386392037a7267dfb4a7c7d86 4b7c90536eaa830d8c1f6ff49a7885b581d6acef scott Chacon 1194549658 -0800 commit: again +4b7c90536eaa830d8c1f6ff49a7885b581d6acef 4ce44a75510cbfe200b131fdbcc56a86f1b2dc08 scott Chacon 1194549659 -0800 commit: again +4ce44a75510cbfe200b131fdbcc56a86f1b2dc08 7f5625f6b3c7213287a12c89017361248ed88936 scott Chacon 1194549659 -0800 commit: again +7f5625f6b3c7213287a12c89017361248ed88936 5e392652a881999392c2757cf9b783c5d47b67f7 scott Chacon 1194549659 -0800 commit: again +5e392652a881999392c2757cf9b783c5d47b67f7 5e392652a881999392c2757cf9b783c5d47b67f7 scott Chacon 1194560922 -0800 checkout: moving from master to test +5e392652a881999392c2757cf9b783c5d47b67f7 546bec6f8872efa41d5d97a369f669165ecda0de scott Chacon 1194560957 -0800 commit: test +546bec6f8872efa41d5d97a369f669165ecda0de 1cc8667014381e2788a94777532a788307f38d26 scott Chacon 1194561188 -0800 commit: test +1cc8667014381e2788a94777532a788307f38d26 1cc8667014381e2788a94777532a788307f38d26 scott Chacon 1194563974 -0800 checkout: moving from test to test_object +1cc8667014381e2788a94777532a788307f38d26 3a9f195756f5bd26b67c5e1fffd92d68d61be14e scott Chacon 1194569841 -0800 commit: cool test +3a9f195756f5bd26b67c5e1fffd92d68d61be14e 3a9f195756f5bd26b67c5e1fffd92d68d61be14e scott Chacon 1194627522 -0800 checkout: moving from test_object to test_branches +3a9f195756f5bd26b67c5e1fffd92d68d61be14e 3a9f195756f5bd26b67c5e1fffd92d68d61be14e scott Chacon 1194632890 -0800 checkout: moving from test_branches to git_grep +3a9f195756f5bd26b67c5e1fffd92d68d61be14e a3db7143944dcfa006fefe7fb49c48793cb29ade scott Chacon 1194632954 -0800 commit: added search file +a3db7143944dcfa006fefe7fb49c48793cb29ade 34a566d193dc4702f03149969a2aad1443231560 scott Chacon 1194632975 -0800 commit: modified to not show up +34a566d193dc4702f03149969a2aad1443231560 935badc874edd62a8629aaf103418092c73f0a56 scott Chacon 1194633382 -0800 commit: more search help +935badc874edd62a8629aaf103418092c73f0a56 5e53019b3238362144c2766f02a2c00d91fcc023 scott Chacon 1194720731 -0800 commit: diff test +5e53019b3238362144c2766f02a2c00d91fcc023 6a44b59f6c1e5e51651cd6b642657b89a087950f Scott Chacon 1599290108 +1000 commit: Add submodule diff --git a/tests/files/submodule/dot_git/logs/refs/heads/diff_over_patches b/tests/files/submodule/dot_git/logs/refs/heads/diff_over_patches new file mode 100644 index 000000000..995061b37 --- /dev/null +++ b/tests/files/submodule/dot_git/logs/refs/heads/diff_over_patches @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 6094405a5209406708ffe737077841b45c63fe25 Scott Chacon 1417622944 -0300 push +6094405a5209406708ffe737077841b45c63fe25 1c04149973fb98fe8437fde044eb44cf5eb6ddda Scott Chacon 1417623204 -0300 push diff --git a/tests/files/submodule/dot_git/logs/refs/heads/git_grep b/tests/files/submodule/dot_git/logs/refs/heads/git_grep new file mode 100644 index 000000000..9395912e9 --- /dev/null +++ b/tests/files/submodule/dot_git/logs/refs/heads/git_grep @@ -0,0 +1,6 @@ +0000000000000000000000000000000000000000 3a9f195756f5bd26b67c5e1fffd92d68d61be14e scott Chacon 1194632890 -0800 branch: Created from HEAD +3a9f195756f5bd26b67c5e1fffd92d68d61be14e a3db7143944dcfa006fefe7fb49c48793cb29ade scott Chacon 1194632954 -0800 commit: added search file +a3db7143944dcfa006fefe7fb49c48793cb29ade 34a566d193dc4702f03149969a2aad1443231560 scott Chacon 1194632975 -0800 commit: modified to not show up +34a566d193dc4702f03149969a2aad1443231560 935badc874edd62a8629aaf103418092c73f0a56 scott Chacon 1194633382 -0800 commit: more search help +935badc874edd62a8629aaf103418092c73f0a56 5e53019b3238362144c2766f02a2c00d91fcc023 scott Chacon 1194720731 -0800 commit: diff test +5e53019b3238362144c2766f02a2c00d91fcc023 6a44b59f6c1e5e51651cd6b642657b89a087950f Scott Chacon 1599290108 +1000 commit: Add submodule diff --git a/tests/files/submodule/dot_git/logs/refs/heads/master b/tests/files/submodule/dot_git/logs/refs/heads/master new file mode 100644 index 000000000..6cc4a1abf --- /dev/null +++ b/tests/files/submodule/dot_git/logs/refs/heads/master @@ -0,0 +1,64 @@ +0000000000000000000000000000000000000000 545ffc79786f268524c35e1e05b1770c7c74faf1 scott Chacon 1194483057 -0800 commit (initial): example git repo +545ffc79786f268524c35e1e05b1770c7c74faf1 6270c7f48ca41e6fb41b745ddc1bffe521d83194 scott Chacon 1194549616 -0800 commit: again +6270c7f48ca41e6fb41b745ddc1bffe521d83194 0d2c47f07277b3ea30b0884f8e3acd68440507c8 scott Chacon 1194549634 -0800 commit: again +0d2c47f07277b3ea30b0884f8e3acd68440507c8 e36f723934fd1d67c7d21538751f0b1e941141db scott Chacon 1194549635 -0800 commit: again +e36f723934fd1d67c7d21538751f0b1e941141db a44a5e945176ff31be83ffca3e7c68a8b6a45ea5 scott Chacon 1194549635 -0800 commit: again +a44a5e945176ff31be83ffca3e7c68a8b6a45ea5 81d4d5e9b6db474d0f432aa31d44bf690d841e94 scott Chacon 1194549636 -0800 commit: again +81d4d5e9b6db474d0f432aa31d44bf690d841e94 71894b736711ea0a5def4f536009364d07ee4db3 scott Chacon 1194549636 -0800 commit: again +71894b736711ea0a5def4f536009364d07ee4db3 b1b18f5bea24648a1b08e5bba88728c15ec3cb50 scott Chacon 1194549637 -0800 commit: again +b1b18f5bea24648a1b08e5bba88728c15ec3cb50 4ade99433ac3e4bcc874cd7de488de29399e9096 scott Chacon 1194549637 -0800 commit: again +4ade99433ac3e4bcc874cd7de488de29399e9096 ae21cabd23aee99a719fc828977c0df9e8b19363 scott Chacon 1194549637 -0800 commit: again +ae21cabd23aee99a719fc828977c0df9e8b19363 d5b9587b65731e25216743b0caca72051a760211 scott Chacon 1194549638 -0800 commit: again +d5b9587b65731e25216743b0caca72051a760211 a788a1cba299638a2c898fcfaae1f69a1549853d scott Chacon 1194549638 -0800 commit: again +a788a1cba299638a2c898fcfaae1f69a1549853d 0f845a0a981bc2f61354fcdd2b6eafe2b2c55c2d scott Chacon 1194549639 -0800 commit: again +0f845a0a981bc2f61354fcdd2b6eafe2b2c55c2d f125480ee106989ec4d86554c0d5a1487ad4336a scott Chacon 1194549639 -0800 commit: again +f125480ee106989ec4d86554c0d5a1487ad4336a a6b25c4b27ee99f93fd611154202af5f9e3c99de scott Chacon 1194549639 -0800 commit: again +a6b25c4b27ee99f93fd611154202af5f9e3c99de 9ae1fbd7636c99d34fdd395cf9bb21ad51417ce7 scott Chacon 1194549640 -0800 commit: again +9ae1fbd7636c99d34fdd395cf9bb21ad51417ce7 88cf23d06f519bec7b824acd52b87a729555f2e7 scott Chacon 1194549640 -0800 commit: again +88cf23d06f519bec7b824acd52b87a729555f2e7 36fe213c328fd280f33abe00069c4b92eb5a88d1 scott Chacon 1194549640 -0800 commit: again +36fe213c328fd280f33abe00069c4b92eb5a88d1 53a72df554e585e239e41cb1fc498d5aee9bb164 scott Chacon 1194549641 -0800 commit: again +53a72df554e585e239e41cb1fc498d5aee9bb164 4d35ba97a858072c240d327e3ce30c28b333a1b0 scott Chacon 1194549641 -0800 commit: again +4d35ba97a858072c240d327e3ce30c28b333a1b0 324968b9dc40253f2c52a8e3856398c761dea856 scott Chacon 1194549642 -0800 commit: again +324968b9dc40253f2c52a8e3856398c761dea856 6c2d312ebd67eed4c7e97e3923b3667764e7360e scott Chacon 1194549642 -0800 commit: again +6c2d312ebd67eed4c7e97e3923b3667764e7360e d14cbc09cc34fb6450b2e96432102be51c8292b8 scott Chacon 1194549642 -0800 commit: again +d14cbc09cc34fb6450b2e96432102be51c8292b8 a3c1f067074cdc9aa998cb5f3cad46a6f17aab2d scott Chacon 1194549643 -0800 commit: again +a3c1f067074cdc9aa998cb5f3cad46a6f17aab2d f5501de98279c6454f510188873476f3ead0cee6 scott Chacon 1194549643 -0800 commit: again +f5501de98279c6454f510188873476f3ead0cee6 8125fbe8605d2884e732a185c9a24abcc0d12a1f scott Chacon 1194549644 -0800 commit: again +8125fbe8605d2884e732a185c9a24abcc0d12a1f e576bdfc9ed4627ac954f9390cf7a6151ad2a73e scott Chacon 1194549644 -0800 commit: again +e576bdfc9ed4627ac954f9390cf7a6151ad2a73e b6153b8fe540288d66b974ae05113338ab1a61f0 scott Chacon 1194549644 -0800 commit: again +b6153b8fe540288d66b974ae05113338ab1a61f0 a51546fabf88ddef5a9fd91b3989dd8ccae2edf3 scott Chacon 1194549645 -0800 commit: again +a51546fabf88ddef5a9fd91b3989dd8ccae2edf3 81f545324202466d44115656ea463a5bb114345f scott Chacon 1194549645 -0800 commit: again +81f545324202466d44115656ea463a5bb114345f 0d519ca9c2eddc44431efe135d0fc8df00e0b975 scott Chacon 1194549646 -0800 commit: again +0d519ca9c2eddc44431efe135d0fc8df00e0b975 f2ff401fb3fc81f8abb3ca15247aadc1e22b6288 scott Chacon 1194549646 -0800 commit: again +f2ff401fb3fc81f8abb3ca15247aadc1e22b6288 d6f31c35d7e010e50568c0d605227028aa7bac66 scott Chacon 1194549646 -0800 commit: again +d6f31c35d7e010e50568c0d605227028aa7bac66 5873a650a91eb238005444d2c637b451f687951b scott Chacon 1194549647 -0800 commit: again +5873a650a91eb238005444d2c637b451f687951b 547a4bae347658f0d9eed0d35d31b4561aea7cf8 scott Chacon 1194549647 -0800 commit: again +547a4bae347658f0d9eed0d35d31b4561aea7cf8 15378a1f3eafe4c5ab4f890883356df917ee5539 scott Chacon 1194549648 -0800 commit: again +15378a1f3eafe4c5ab4f890883356df917ee5539 8dae07ab9d98b5fe04d4d7ed804cc36441b68dab scott Chacon 1194549648 -0800 commit: again +8dae07ab9d98b5fe04d4d7ed804cc36441b68dab e50fa6835cb99747346f19fea5f1ba939da4205f scott Chacon 1194549649 -0800 commit: again +e50fa6835cb99747346f19fea5f1ba939da4205f 5b0be7da7cc9ecdb6c2de5f818c30a42fbd2c9fa scott Chacon 1194549649 -0800 commit: again +5b0be7da7cc9ecdb6c2de5f818c30a42fbd2c9fa 62bb94c53efae4d53fd0649d129baef4aca87af7 scott Chacon 1194549649 -0800 commit: again +62bb94c53efae4d53fd0649d129baef4aca87af7 beb14380ef26540efcad06bedcd0e302b6bce70e scott Chacon 1194549650 -0800 commit: again +beb14380ef26540efcad06bedcd0e302b6bce70e f1410f8735f6f73d3599eb9b5cdd2fb70373335c scott Chacon 1194549650 -0800 commit: again +f1410f8735f6f73d3599eb9b5cdd2fb70373335c b03003311ad3fa368b475df58390353868e13c91 scott Chacon 1194549651 -0800 commit: again +b03003311ad3fa368b475df58390353868e13c91 9fa43bcd45af28e109e6f7b9a6ccd26e8e193a63 scott Chacon 1194549651 -0800 commit: again +9fa43bcd45af28e109e6f7b9a6ccd26e8e193a63 8ce3ee48a7e7ec697a99ee33700ec624548ad9e8 scott Chacon 1194549651 -0800 commit: again +8ce3ee48a7e7ec697a99ee33700ec624548ad9e8 a0b3f35b3c39cfb12c4cc819bffe1cf54efb3642 scott Chacon 1194549652 -0800 commit: again +a0b3f35b3c39cfb12c4cc819bffe1cf54efb3642 2e939fd37bbd2da971faa27c3e3de7d5aad40507 scott Chacon 1194549652 -0800 commit: again +2e939fd37bbd2da971faa27c3e3de7d5aad40507 cf7135368cc3bf4920ceeaeebd083e098cfad355 scott Chacon 1194549653 -0800 commit: again +cf7135368cc3bf4920ceeaeebd083e098cfad355 631446ec50808846e31fff786c065e69da2c673b scott Chacon 1194549653 -0800 commit: again +631446ec50808846e31fff786c065e69da2c673b 70714b02913c1a249a5ab05021742f0bc7065df7 scott Chacon 1194549654 -0800 commit: again +70714b02913c1a249a5ab05021742f0bc7065df7 82d331cf4d3d4ee537c4f866cab2633b46a8d090 scott Chacon 1194549654 -0800 commit: again +82d331cf4d3d4ee537c4f866cab2633b46a8d090 5c16fb8b958b51f6008f9722b279b1fde0defb76 scott Chacon 1194549654 -0800 commit: again +5c16fb8b958b51f6008f9722b279b1fde0defb76 8b00d915a0ee5aeb32e0b166e1054c2901338c9d scott Chacon 1194549655 -0800 commit: again +8b00d915a0ee5aeb32e0b166e1054c2901338c9d 478e5ee111572790b248eaa99140c5a8f728abc7 scott Chacon 1194549655 -0800 commit: again +478e5ee111572790b248eaa99140c5a8f728abc7 feb2ccf88397c2d93f381176067be2727eba330b scott Chacon 1194549656 -0800 commit: again +feb2ccf88397c2d93f381176067be2727eba330b b98f4909807c8c84a1dc1b62b4a339ae1777f369 scott Chacon 1194549656 -0800 commit: again +b98f4909807c8c84a1dc1b62b4a339ae1777f369 87c56502c73149f006631129f85dff697e000356 scott Chacon 1194549657 -0800 commit: again +87c56502c73149f006631129f85dff697e000356 291b6be488d6abc586d3ee03ca61238766625a75 scott Chacon 1194549657 -0800 commit: again +291b6be488d6abc586d3ee03ca61238766625a75 545c81a2e8d1112d5f7356f840a22e8f6abcef8f scott Chacon 1194549657 -0800 commit: again +545c81a2e8d1112d5f7356f840a22e8f6abcef8f 00ea60e1331b184386392037a7267dfb4a7c7d86 scott Chacon 1194549658 -0800 commit: again +00ea60e1331b184386392037a7267dfb4a7c7d86 4b7c90536eaa830d8c1f6ff49a7885b581d6acef scott Chacon 1194549658 -0800 commit: again +4b7c90536eaa830d8c1f6ff49a7885b581d6acef 4ce44a75510cbfe200b131fdbcc56a86f1b2dc08 scott Chacon 1194549659 -0800 commit: again +4ce44a75510cbfe200b131fdbcc56a86f1b2dc08 7f5625f6b3c7213287a12c89017361248ed88936 scott Chacon 1194549659 -0800 commit: again +7f5625f6b3c7213287a12c89017361248ed88936 5e392652a881999392c2757cf9b783c5d47b67f7 scott Chacon 1194549659 -0800 commit: again diff --git a/tests/files/submodule/dot_git/logs/refs/heads/test b/tests/files/submodule/dot_git/logs/refs/heads/test new file mode 100644 index 000000000..89fe3cf2d --- /dev/null +++ b/tests/files/submodule/dot_git/logs/refs/heads/test @@ -0,0 +1,3 @@ +0000000000000000000000000000000000000000 5e392652a881999392c2757cf9b783c5d47b67f7 scott Chacon 1194560919 -0800 branch: Created from master +5e392652a881999392c2757cf9b783c5d47b67f7 546bec6f8872efa41d5d97a369f669165ecda0de scott Chacon 1194560957 -0800 commit: test +546bec6f8872efa41d5d97a369f669165ecda0de 1cc8667014381e2788a94777532a788307f38d26 scott Chacon 1194561188 -0800 commit: test diff --git a/tests/files/submodule/dot_git/logs/refs/heads/test_branches b/tests/files/submodule/dot_git/logs/refs/heads/test_branches new file mode 100644 index 000000000..23acb52e7 --- /dev/null +++ b/tests/files/submodule/dot_git/logs/refs/heads/test_branches @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 3a9f195756f5bd26b67c5e1fffd92d68d61be14e scott Chacon 1194627522 -0800 branch: Created from HEAD diff --git a/tests/files/submodule/dot_git/logs/refs/heads/test_object b/tests/files/submodule/dot_git/logs/refs/heads/test_object new file mode 100644 index 000000000..9ff5a7681 --- /dev/null +++ b/tests/files/submodule/dot_git/logs/refs/heads/test_object @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 1cc8667014381e2788a94777532a788307f38d26 scott Chacon 1194563974 -0800 branch: Created from HEAD +1cc8667014381e2788a94777532a788307f38d26 3a9f195756f5bd26b67c5e1fffd92d68d61be14e scott Chacon 1194569841 -0800 commit: cool test diff --git a/tests/files/submodule/dot_git/logs/refs/remotes/working/master b/tests/files/submodule/dot_git/logs/refs/remotes/working/master new file mode 100644 index 000000000..1089e8c7b --- /dev/null +++ b/tests/files/submodule/dot_git/logs/refs/remotes/working/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 545ffc79786f268524c35e1e05b1770c7c74faf1 Scott Chacon 1194627183 -0800 fetch working: storing head diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/HEAD b/tests/files/submodule/dot_git/modules/unlicense_only/HEAD new file mode 100644 index 000000000..cb089cd89 --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/config b/tests/files/submodule/dot_git/modules/unlicense_only/config new file mode 100644 index 000000000..60b1c9553 --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/config @@ -0,0 +1,12 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + worktree = ../../../unlicense_only +[remote "origin"] + url = git@github.com:hatkyinc2/unlicense_only.git + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "master"] + remote = origin + merge = refs/heads/master diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/description b/tests/files/submodule/dot_git/modules/unlicense_only/description new file mode 100644 index 000000000..498b267a8 --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/hooks/applypatch-msg.sample b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/applypatch-msg.sample new file mode 100755 index 000000000..a5d7b84a6 --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/hooks/commit-msg.sample b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/commit-msg.sample new file mode 100755 index 000000000..b58d1184a --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/hooks/fsmonitor-watchman.sample b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/fsmonitor-watchman.sample new file mode 100755 index 000000000..e673bb398 --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/fsmonitor-watchman.sample @@ -0,0 +1,114 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 1) and a time in nanoseconds +# formatted as a string and outputs to stdout all files that have been +# modified since the given time. Paths must be relative to the root of +# the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $time) = @ARGV; + +# Check the hook interface version + +if ($version == 1) { + # convert nanoseconds to seconds + $time = int $time / 1000000000; +} else { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree; +if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $git_work_tree = Win32::GetCwd(); + $git_work_tree =~ tr/\\/\//; +} else { + require Cwd; + $git_work_tree = Cwd::cwd(); +} + +my $retry = 1; + +launch_watchman(); + +sub launch_watchman { + + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $time but were not transient (ie created after + # $time but no longer exist). + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + # + # The category of transient files that we want to ignore will have a + # creation clock (cclock) newer than $time_t value and will also not + # currently exist. + + my $query = <<" END"; + ["query", "$git_work_tree", { + "since": $time, + "fields": ["name"], + "expression": ["not", ["allof", ["since", $time, "cclock"], ["not", "exists"]]] + }] + END + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + my $json_pkg; + eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; + } or do { + require JSON::PP; + $json_pkg = "JSON::PP"; + }; + + my $o = $json_pkg->new->utf8->decode($response); + + if ($retry > 0 and $o->{error} and $o->{error} =~ m/unable to resolve root .* directory (.*) is not watched/) { + print STDERR "Adding '$git_work_tree' to watchman's watch list.\n"; + $retry--; + qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + print "/\0"; + eval { launch_watchman() }; + exit 0; + } + + die "Watchman: $o->{error}.\n" . + "Falling back to scanning...\n" if $o->{error}; + + binmode STDOUT, ":utf8"; + local $, = "\0"; + print @{$o->{files}}; +} diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/hooks/post-update.sample b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/post-update.sample new file mode 100755 index 000000000..ec17ec193 --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-applypatch.sample b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-applypatch.sample new file mode 100755 index 000000000..4142082bc --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-commit.sample b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-commit.sample new file mode 100755 index 000000000..68d62d544 --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-push.sample b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-push.sample new file mode 100755 index 000000000..6187dbf43 --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +z40=0000000000000000000000000000000000000000 + +while read local_ref local_sha remote_ref remote_sha +do + if [ "$local_sha" = $z40 ] + then + # Handle delete + : + else + if [ "$remote_sha" = $z40 ] + then + # New branch, examine all commits + range="$local_sha" + else + # Update to existing branch, examine new commits + range="$remote_sha..$local_sha" + fi + + # Check for WIP commit + commit=`git rev-list -n 1 --grep '^WIP' "$range"` + if [ -n "$commit" ] + then + echo >&2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-rebase.sample b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-rebase.sample new file mode 100755 index 000000000..6cbef5c37 --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-receive.sample b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-receive.sample new file mode 100755 index 000000000..a1fd29ec1 --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/hooks/prepare-commit-msg.sample b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/prepare-commit-msg.sample new file mode 100755 index 000000000..10fa14c5a --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/hooks/update.sample b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/update.sample new file mode 100755 index 000000000..80ba94135 --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to block unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/index b/tests/files/submodule/dot_git/modules/unlicense_only/index new file mode 100644 index 0000000000000000000000000000000000000000..bf1f64ef8b1e48f77100914147519701f8eb86cb GIT binary patch literal 137 zcmZ?q402{*U|<4b#`s{f-8?bJi(xcS%#=aQVhIC7BM>vcfMAy0fA4OZwZwJ5ZB}fH zZSM6tft5d}g)^}GcsjfK1-k+@g#@{RC`krG1p_XL-n%}Pj}7~CweIeyX1}zje_s`| Zs>7s(4G%NRBJ&r1{i846z4i!iCjb_xFJ%A# literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/info/exclude b/tests/files/submodule/dot_git/modules/unlicense_only/info/exclude new file mode 100644 index 000000000..a5196d1be --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/logs/HEAD b/tests/files/submodule/dot_git/modules/unlicense_only/logs/HEAD new file mode 100644 index 000000000..e4cf44932 --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/logs/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 fe69000713beb00c2d432f130672faf36a1ccf36 Ofir Petrushka 1599289019 +1000 clone: from git@github.com:hatkyinc2/unlicense_only.git diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/logs/refs/heads/master b/tests/files/submodule/dot_git/modules/unlicense_only/logs/refs/heads/master new file mode 100644 index 000000000..e4cf44932 --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 fe69000713beb00c2d432f130672faf36a1ccf36 Ofir Petrushka 1599289019 +1000 clone: from git@github.com:hatkyinc2/unlicense_only.git diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/logs/refs/remotes/origin/HEAD b/tests/files/submodule/dot_git/modules/unlicense_only/logs/refs/remotes/origin/HEAD new file mode 100644 index 000000000..e4cf44932 --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/logs/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 fe69000713beb00c2d432f130672faf36a1ccf36 Ofir Petrushka 1599289019 +1000 clone: from git@github.com:hatkyinc2/unlicense_only.git diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/objects/pack/pack-1cfb165670a7dfea64cc631cc8b400c2abc8c297.idx b/tests/files/submodule/dot_git/modules/unlicense_only/objects/pack/pack-1cfb165670a7dfea64cc631cc8b400c2abc8c297.idx new file mode 100644 index 0000000000000000000000000000000000000000..abe09e1fc6cfaa1e5f7c06af0efdf0f8bcd3b7de GIT binary patch literal 1156 zcmexg;-AdGz`z8=v<8eo3r6v17>uTY!IK6+`JNesC3^4rR6aKB&(*rSqniEFp8kDR z%zy80nzh7rzin1*i*4@pI)Rlxr-lE^WMCKGw}D63Sznl~=-1~gne%3g7jJs^ChYN{ zIcFaU<{{EFP2EdeTonRcfEQBgqzQRKJWS`{?X;_Wqc}`s0Q+seKbFT zGBr&VAyb23qCg0xU$kLD^0DAJMvRt=&li8`DeETM)hDK^&X+{ZOV&(M$n zpE1Fi%Vqpn7M4nqgK0mkT|2KZe|TD@B<)7-U^yg=_j7z=hJ7K|GOVUW`3SG61Q-=w zubiVsRy&`Pfom6KciwnqJE&6_-Mj-;oP$A3KB9T;%gHR}Mx2t5eu+8HdkZ~$9@5o2$3Aw$i>QsrbN8(oryxNUyN#D&J zfA;TUlFON3=>>cr;|m!6()6POc$_mdFfcPQQSk9}cJ&K(W%zq{)2t<~`)#vgTWoW$ z*9olrIV~Ij*9{IwyGwYSZB$*4n>ZAG=T}_ynVr5@)k>bkX{-{63~4%#4w#8|!DMZ- zRrc5Kxg;~wsVX6X%{?FY_(F4bk#P0FS~9+)*<0VvdRJGIPn$tLSuE%|;kLR4`Xmh+9FK)m?w8N0o6td36 z6x?Y}z_O71;CUVt+8=FnPzJ4^i(M&QUqGB0#pc5>bXsP+8DU!fW<(_L`1p><|p zke~b?Z#((Y`02`sY_!Hl^rJleH3t_v*Csdl2v;T{hjx1Q?mxS97u@qX(O`bWe96Sj z=?r$(UY=q$_3yi(&VtY+ySQUnGYmg*AzlO@`GFa;SKMz?r=z9O{C!XCP7Sk5`&@pq z-u5otY`mfkdk)XH^S%>z7U_@HCqgY^rn7Y+azz&BwzV;$okfr>GVT{i@SK>Drhjcn zWLjp*FgMQsGvnYFZgh3A;bPP5(v_9C`wJT8m+YpW)6C<>VZ@s^7vEBteTPYS7d?)u z*-EObO>-1llB#L1t8Z#8*YrWuSbxarsG4ncXb2Trl+6=W8xrLceO2W;&*b;LmUT^) zCbioaO0IKK<*GQWRr!S;fh((q3bj)WNSlgS@J^*9aGPu=^=gZycvOXIo^sl#rew|y zNCoYMZq({f2u=Hg-dDAR{2H{SDmNM`awp5?AyXyxNPfeD>a8e>MM@mtUf1*}VM06> z^2Q4Pt3s$ku zpJMsd;8W{y));}$=aeq-)5njq$Mjks?ZXtF|IGdeNY9HO9QzhlaHrquWXxk6$g}{$ HtH{Ea>K~F* literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/packed-refs b/tests/files/submodule/dot_git/modules/unlicense_only/packed-refs new file mode 100644 index 000000000..dd579a67f --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/packed-refs @@ -0,0 +1,2 @@ +# pack-refs with: peeled fully-peeled sorted +fe69000713beb00c2d432f130672faf36a1ccf36 refs/remotes/origin/master diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/refs/heads/master b/tests/files/submodule/dot_git/modules/unlicense_only/refs/heads/master new file mode 100644 index 000000000..7fa80b179 --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/refs/heads/master @@ -0,0 +1 @@ +fe69000713beb00c2d432f130672faf36a1ccf36 diff --git a/tests/files/submodule/dot_git/modules/unlicense_only/refs/remotes/origin/HEAD b/tests/files/submodule/dot_git/modules/unlicense_only/refs/remotes/origin/HEAD new file mode 100644 index 000000000..6efe28fff --- /dev/null +++ b/tests/files/submodule/dot_git/modules/unlicense_only/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +ref: refs/remotes/origin/master diff --git a/tests/files/submodule/dot_git/objects/00/62cdf4c1e63069eececf54325535e91fd57c42 b/tests/files/submodule/dot_git/objects/00/62cdf4c1e63069eececf54325535e91fd57c42 new file mode 100644 index 0000000000000000000000000000000000000000..9998fb2c194233dfbd6796ea1882883397f7adfa GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9*fuZgZ2QxnfzI+#A&#Sq$$kSKR;r literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/01/0b7b79019cb510d8c5849704fd10541655916d b/tests/files/submodule/dot_git/objects/01/0b7b79019cb510d8c5849704fd10541655916d new file mode 100644 index 0000000000000000000000000000000000000000..7b08dade7fd513f28772662f43650fb808f458a6 GIT binary patch literal 20 bcmbAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9Fz!3e*nE}Uv+M1)%*{Cv^D&j0}N$sz^AAS*He literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/02/b2a02844d00574c234d17bec6294e832f3c4c1 b/tests/files/submodule/dot_git/objects/02/b2a02844d00574c234d17bec6294e832f3c4c1 new file mode 100644 index 0000000000000000000000000000000000000000..57000dbe1f7ef93f22500cb7e2a1f9b4fe60652a GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9aAOE9W!tClT9k3g$EcuZEmwBFO9TMfhao+9TP8~Y literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/06/f4e8a840d23fc0ab94895a5d16827a19f75fb7 b/tests/files/submodule/dot_git/objects/06/f4e8a840d23fc0ab94895a5d16827a19f75fb7 new file mode 100644 index 0000000000000000000000000000000000000000..760c119c775ff3d1d0bb6661a2f04eb515ed13a4 GIT binary patch literal 20 bcmbAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9&<}o=e(^?M>E>Ss{Ij+_y7B+AmM8!Kf+Itg1t;hL literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/0b/5262f6ee3552a99b7081a317e8289d6a4d8e72 b/tests/files/submodule/dot_git/objects/0b/5262f6ee3552a99b7081a317e8289d6a4d8e72 new file mode 100644 index 0000000000000000000000000000000000000000..c4b9cc9510b4f5574f2a4d8e74981cb344818029 GIT binary patch literal 21 ccmbAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9csBRZ>`fQ1IeT|&t}Bnaap*};@I(L&cq7SzD<;eU literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/0c/ac9b660896797e9cc9abb36c081a7ec0d1a7b1 b/tests/files/submodule/dot_git/objects/0c/ac9b660896797e9cc9abb36c081a7ec0d1a7b1 new file mode 100644 index 0000000000000000000000000000000000000000..c3e29f51fabc77f1f167dc599ea44f83dddcabf1 GIT binary patch literal 153 zcmV;K0A~Mq0V^p=O;s>7F=j9^00M>7iujbwB8Kcr-aB!t4LWE6moC3G zG%zqTF#)Pb%q_@C)hnqeVdyv>|kiX{tjYYadLi134^P`q1hdAb9ZjIZ&SUxqCm7xmf literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/0d/2c47f07277b3ea30b0884f8e3acd68440507c8 b/tests/files/submodule/dot_git/objects/0d/2c47f07277b3ea30b0884f8e3acd68440507c8 new file mode 100644 index 0000000000000000000000000000000000000000..d44cdd52763f709f2c8993bbf4b1d4bb51b717eb GIT binary patch literal 171 zcmV;c095~Y0j-WfZUZ3-Ygx`q^6l*ouwYRJVsdFWxDmJ}p4%)$sttss1N1wxHspmSOmjyRQCV? literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/0d/519ca9c2eddc44431efe135d0fc8df00e0b975 b/tests/files/submodule/dot_git/objects/0d/519ca9c2eddc44431efe135d0fc8df00e0b975 new file mode 100644 index 0000000000000000000000000000000000000000..a139db04a80d91f80bfb1cfddcd125c6131089e9 GIT binary patch literal 170 zcmV;b09F5Z0j-W(YQr!PMf&h;f08xCCPJmR=6EGgLwf9=-F(JYE1|;v&dF zXk7s?AXOumzFN0uYO416lGF}+Khs}$$dBaK&%x9!UFVcqe^0$g(!TwUwtriI1ql~M Ywl_CBXU00rwfra343X_HAE#qhU(hL0*8l(j literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/0f/845a0a981bc2f61354fcdd2b6eafe2b2c55c2d b/tests/files/submodule/dot_git/objects/0f/845a0a981bc2f61354fcdd2b6eafe2b2c55c2d new file mode 100644 index 000000000..dcb7da05b --- /dev/null +++ b/tests/files/submodule/dot_git/objects/0f/845a0a981bc2f61354fcdd2b6eafe2b2c55c2d @@ -0,0 +1,3 @@ +xA E]s +.`cIajhi`x|gp_<*۶CHe92xLnѣ.'60[ԁw ǔ 4#CB; +OYJՍ~.He׷F7R[wJgc$ut+Qt X- \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/0f/f4a0357c3d7221a2ef1e4c6b7d5c46d97fe250 b/tests/files/submodule/dot_git/objects/0f/f4a0357c3d7221a2ef1e4c6b7d5c46d97fe250 new file mode 100644 index 0000000000000000000000000000000000000000..15da71b8add2f125503cf5fe7fa2419a327b6c8d GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9@X~%4FvV|D>x&;sVkbB3Sbq8JWl;e2$Rg!|cqi5X literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/12/eb889f49f1464b32a51424d7724fb16f6c3a31 b/tests/files/submodule/dot_git/objects/12/eb889f49f1464b32a51424d7724fb16f6c3a31 new file mode 100644 index 0000000000000000000000000000000000000000..86f0dc9d58454f49ffbc22882efc3cb1f063f100 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9u+DpT^PKamPMa^iYPKs)Jl?LGF9QJmRU%NC1Sf0& literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/15/34a65657edf4e5caaa5ce35652dca5e4c7d316 b/tests/files/submodule/dot_git/objects/15/34a65657edf4e5caaa5ce35652dca5e4c7d316 new file mode 100644 index 0000000000000000000000000000000000000000..339997b7b321e5eeca45f7818d9ab3d5d304befe GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9c**-ht-1Kg->8ko0^3Vs-QS2c+5iCdz9D$BYbmk- literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/15/378a1f3eafe4c5ab4f890883356df917ee5539 b/tests/files/submodule/dot_git/objects/15/378a1f3eafe4c5ab4f890883356df917ee5539 new file mode 100644 index 000000000..0387c6603 --- /dev/null +++ b/tests/files/submodule/dot_git/objects/15/378a1f3eafe4c5ab4f890883356df917ee5539 @@ -0,0 +1,2 @@ +xQ +0D)r%i7DOlmJ7xfvM&? L"D& U(!NNM6&D2gIh₆\UE\7{=\љpm z`9nO"f{Y \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/16/9e6db43d4c09cd610179a7b9826483b4d94123 b/tests/files/submodule/dot_git/objects/16/9e6db43d4c09cd610179a7b9826483b4d94123 new file mode 100644 index 0000000000000000000000000000000000000000..c0b055674c6f2ade999d21f4f0a2645e7c48ac93 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9VC1f@WSp~A;KtFG=`4Q*Lc~HR<^llL`X8y8j3`C` literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/16/d1f96acfd92d09c4f1f56d3441ac55dd30500e b/tests/files/submodule/dot_git/objects/16/d1f96acfd92d09c4f1f56d3441ac55dd30500e new file mode 100644 index 0000000000000000000000000000000000000000..3380e53834662fc42f93fef0fd68c90d22d8aa9f GIT binary patch literal 20 bcmbAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9ke%nAzB0i5RGekF$c(68Z#TAmIST;eV +(,$*Ep> fˤ՚n0rt`" r5DI~V ?ǽunUhuKSE6XJqwCgx, vryyy;Sa \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/1c/c8667014381e2788a94777532a788307f38d26 b/tests/files/submodule/dot_git/objects/1c/c8667014381e2788a94777532a788307f38d26 new file mode 100644 index 000000000..a21ca42b5 --- /dev/null +++ b/tests/files/submodule/dot_git/objects/1c/c8667014381e2788a94777532a788307f38d26 @@ -0,0 +1 @@ +xA0 EgSԖe(CaNH$Va3t[<>ϐ%$ .XJTᒸu eXˬ+(Yj FBAӶf7vq?ٴcSWbIǏ 1"!ӞM?t e>X \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/1c/fcfba04eb4e461e9f930d22f528023ab1ddefc b/tests/files/submodule/dot_git/objects/1c/fcfba04eb4e461e9f930d22f528023ab1ddefc new file mode 100644 index 0000000000000000000000000000000000000000..f43d1098c5ef8f019a14d89fc7753407e2dfc5df GIT binary patch literal 21 ccmbB6Ai7fz$kz091hoMgRZ+ literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/1d/7be4117ded4534789d85c42ab579644cd3fa12 b/tests/files/submodule/dot_git/objects/1d/7be4117ded4534789d85c42ab579644cd3fa12 new file mode 100644 index 0000000000000000000000000000000000000000..47683fe1ff4f1f703eb231d8388d47312046c115 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9xO}ltNv?e{AM4!Ye$n{OsZ(!e7Xkp~dmz4$ktgZ^ literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/1d/9e4767a95047ca5e395714985afaedb186f4cd b/tests/files/submodule/dot_git/objects/1d/9e4767a95047ca5e395714985afaedb186f4cd new file mode 100644 index 000000000..072ad31a2 --- /dev/null +++ b/tests/files/submodule/dot_git/objects/1d/9e4767a95047ca5e395714985afaedb186f4cd @@ -0,0 +1 @@ +xKOR06`0 \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/1f/09f2edb9c0d9275d15960771b363ca6940fbe3 b/tests/files/submodule/dot_git/objects/1f/09f2edb9c0d9275d15960771b363ca6940fbe3 new file mode 100644 index 0000000000000000000000000000000000000000..f7ce8112dd3e6ff422e24ba93942b72c75b76636 GIT binary patch literal 38 ucmbRsK$AnlL05Zb;C70*J?auVwin`%M<_;APxEe literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/1f/691b879df15cf6742502ffc59833b4a40e7aef b/tests/files/submodule/dot_git/objects/1f/691b879df15cf6742502ffc59833b4a40e7aef new file mode 100644 index 0000000000000000000000000000000000000000..93e5d3878a9e99b843e63910409f96c7622530d2 GIT binary patch literal 118 zcmV-+0Ez#20V^p=O;s>7Fkvt;00M>7iujbwB8Kcr-aB!t4LWE6moC3G zG%zqTF#)Pb%q_@C)hnqeVUXwi^mgZgo9eNm)7T3)C!fl6`284SPH}R6NeP3Vg0Noy Y6`sv6lsqQR5}3ei_^~ky0O_AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`92w`Hdh_U9@oKw~Q=Ifl5K1RRy%>)3@7a*;jmMHuH literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/26/3e3c527004e7b742ed1f747c1bfb7e11825d7a b/tests/files/submodule/dot_git/objects/26/3e3c527004e7b742ed1f747c1bfb7e11825d7a new file mode 100644 index 0000000000000000000000000000000000000000..78c9b7891cb8536ce923f1c963d0e5651a24284a GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9uu1V(+PUNHhP*n>zEdZjOA8w$egpvS6(OvYeAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9hzO9`%YXD-vwpV8$3U?%zodE#iDj?~TEho+Z literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/29/1b6be488d6abc586d3ee03ca61238766625a75 b/tests/files/submodule/dot_git/objects/29/1b6be488d6abc586d3ee03ca61238766625a75 new file mode 100644 index 0000000000000000000000000000000000000000..063753a6320bde30672b747aa6e6d78ab7ad89ce GIT binary patch literal 169 zcmV;a09OBa0j-Wf4#FT1MO||WE?_eh7$7mm#FNnJpk1^ybeed4iDz*4-(S2us_VLl z9uY6nm^G7OJ3Ge)flZvJGUXg$@)LvzL literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/2a/f6f7d51b7afdd404a871581ebb3b6ac07fb8cc b/tests/files/submodule/dot_git/objects/2a/f6f7d51b7afdd404a871581ebb3b6ac07fb8cc new file mode 100644 index 0000000000000000000000000000000000000000..383f3ca5daa64461419771b029c429b0439ae7f2 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9@Z21vIoE_t<|Gx1ck|f(;s5~Z0U(~c(JD6p literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/2c/ef51480d44dcc262d16be2812c692d940d5f29 b/tests/files/submodule/dot_git/objects/2c/ef51480d44dcc262d16be2812c692d940d5f29 new file mode 100644 index 0000000000000000000000000000000000000000..874eea5a84a1935844d26855379fb0a04e18b6bc GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9xHmI*!F$_t4;OX4pX9vCPBm_a>Q(>>K_d-$Z6&|} literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/2e/20132e8fd40cb3e82248919a10900d31f1816a b/tests/files/submodule/dot_git/objects/2e/20132e8fd40cb3e82248919a10900d31f1816a new file mode 100644 index 0000000000000000000000000000000000000000..60a104616c813bbfa213d96205da5efc26fda074 GIT binary patch literal 53 zcmV-50LuS(0V^p=O;s>9V=y!@Ff%bxC`qj-(JQGaVOaU-=631CRKpKmsq3PrYcIX{ L>GWg(QKu3)5Lp)H literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/2e/939fd37bbd2da971faa27c3e3de7d5aad40507 b/tests/files/submodule/dot_git/objects/2e/939fd37bbd2da971faa27c3e3de7d5aad40507 new file mode 100644 index 0000000000000000000000000000000000000000..a4499ef2ed95915d47780b0f97b6897aeeb04633 GIT binary patch literal 171 zcmV;c095~Y0j-WfZo?oDMZ4w{Tp$)OfI*6?NIA(c42>5y5gtoDeo)WQ-G6`a^r-Lq zCfddLC4*V76b(fz(bMW{a4oM;ZK7&30N8}7W@N|eje`%-XbLn41qd>=VjX#+WOHea zEw$je6^Py`yyVq~KBic;FA#KF;ZsjjnT{KHke|2DHfs3oD#)K#iw~t1|svuE{EDseI#5mmRMW{hTy7)ES|+X zhC<$ZoXHuy^wqjOxvARc3%MQke)8XV;1AZ;&*9XKuXEzo-%}T4?c48o`?sCvCB(3# Z0QTmJb7s&{uJWHwGeWk*d;p10Sc9PfSh@fJ literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/33/8ecb0183d507498aedb669b796b4f9e8880f00 b/tests/files/submodule/dot_git/objects/33/8ecb0183d507498aedb669b796b4f9e8880f00 new file mode 100644 index 0000000000000000000000000000000000000000..edf6a01655f4aba3832ffbf156c3713a2cbfc312 GIT binary patch literal 20 bcmb52S7!$+!FKmASO_2xC literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/33/edabb4334cbe849a477a0d2893cdb768fa3091 b/tests/files/submodule/dot_git/objects/33/edabb4334cbe849a477a0d2893cdb768fa3091 new file mode 100644 index 0000000000000000000000000000000000000000..9533d49af6ebd0f3c6567532fa96375cb5b11b31 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9SSadf$~a}dKWC%-#Z_-UnjH{2ejNbXy&)HJq$PI% literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/34/a566d193dc4702f03149969a2aad1443231560 b/tests/files/submodule/dot_git/objects/34/a566d193dc4702f03149969a2aad1443231560 new file mode 100644 index 000000000..65c7ad5cd --- /dev/null +++ b/tests/files/submodule/dot_git/objects/34/a566d193dc4702f03149969a2aad1443231560 @@ -0,0 +1 @@ +xMn0 9/ЧBԓ., (1;C=Cw34\}33YS˜rQ?N *yqAB'D˒<ƌXXɹIE%邙f"/!S.[k WzGE?Tji_&ֶO>CN#ٹ^&i{-nR*ՠsx_ \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/36/fe213c328fd280f33abe00069c4b92eb5a88d1 b/tests/files/submodule/dot_git/objects/36/fe213c328fd280f33abe00069c4b92eb5a88d1 new file mode 100644 index 0000000000000000000000000000000000000000..7e3b9beca565bafb57115a2a876fec1af21f00c1 GIT binary patch literal 170 zcmV;b09F5Z0j-W*3d0}}g!}9%yg-9m*B>aQ(37mIX?#cwW&=HbrDy2d%rJa>)Yi4K zG|pYPmm&)|PzV&sCO~U7=m=>}N@trxCQ1~H(Mjys%f>PUn$0aMH;-c~dVtlb6=zL5*3y7NoYx`$50(#5d;FkHO?h=P^<1`_u~(_xc%aeMqgN1sk1J Y@~VPTVywfQ%RiZ7h}2Dd0Z$@WV^HK!{Qv*} literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/39/66e9fa0e0b9fe9d3ef2fdaa6933f3d0bb82bc3 b/tests/files/submodule/dot_git/objects/39/66e9fa0e0b9fe9d3ef2fdaa6933f3d0bb82bc3 new file mode 100644 index 0000000000000000000000000000000000000000..cee131fc2533aded99f443f89a265a051f00cefd GIT binary patch literal 20 ccmbq&Ud ([~w"ӬW>u۵ F \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/3c/f35bd14cf5f2dd08bbeef8698d700f3a038e5c b/tests/files/submodule/dot_git/objects/3c/f35bd14cf5f2dd08bbeef8698d700f3a038e5c new file mode 100644 index 0000000000000000000000000000000000000000..f708f05d83fd098a6f9e788db47fefd71059e51c GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`92$PKaVK-0VRO#J&AClRO|1>1L6$Ak9#v$T?{wIO} literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/3d/331db92a8ead0565679efb76f328ae69ed1b77 b/tests/files/submodule/dot_git/objects/3d/331db92a8ead0565679efb76f328ae69ed1b77 new file mode 100644 index 0000000000000000000000000000000000000000..d88377dc54652cc821794ccd184d9dabb2d5cd99 GIT binary patch literal 21 ccmb6FlLA@E=|hKPbtkwRZuF;%gIbm%_~lg&(F)LREp)|EJ!TL yP_R`%mEhtmEy@9kre~Ho0C7fXl3sFtu2n{2Np@vsUb2xss&YM`8ZH2#i6{GkUnv{_ literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/44/88516c3c936db58ea485ec2213dab9d13e6628 b/tests/files/submodule/dot_git/objects/44/88516c3c936db58ea485ec2213dab9d13e6628 new file mode 100644 index 0000000000000000000000000000000000000000..324e4e052e226cdbcd2f36b98571e9564912b393 GIT binary patch literal 20 ccmbAWH2-^Ff%bx$V)9x%gjk-h;?IYVmD*4pZ8WP*(^;qW6}wQ prBEd$sTC!9B^4zMHpiufZ?Zjcy%kgud+)!)t&3u|o&eN58@1t9AesOG literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/45/b983be36b73c0788dc9cbcb76cbb80fc7bb057 b/tests/files/submodule/dot_git/objects/45/b983be36b73c0788dc9cbcb76cbb80fc7bb057 new file mode 100644 index 0000000000000000000000000000000000000000..7ca4ceed50400af7e36b25ff200a7be95f0bc61f GIT binary patch literal 18 acmbAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 tFfcPQ0jfyMEyzjLE2$`9@RGB0WtgU8X1JuXDEreBmdr?>T>#9}A8~RsCAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9Skv#Zd;4aYDbdT8{C+l-mtj_Hb1?w?BqA=Le7Fkvt;00M>7iujbwB8Kcr-aB!t4LWE6moC3G zG%zqTF#)Pb%q_@C)hnqeVUXwi^mgZgo9eNm)7T3)C!fl6`284SPH}R6NeP3i!lBt6 YadUTWxNlRvx}rd|PL|;?00k5--)r7Cr2qf` literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/47/8e5ee111572790b248eaa99140c5a8f728abc7 b/tests/files/submodule/dot_git/objects/47/8e5ee111572790b248eaa99140c5a8f728abc7 new file mode 100644 index 0000000000000000000000000000000000000000..60e9f04398b1fd5fd03200b5c781a263cb8f4e3d GIT binary patch literal 171 zcmV;c095~Y0j-WpZo@DP1-sTMbb$uchqMI*MSz}!qL{`DTY<~~J${6qp}RM4F&OFl zzL}3iA2w8dCMJj}hOl5I$8ZSp!V(#P{Ml*PvOJ8A#&A(V`{ Z5TgHt6~N7RmYe>k)6J0WaBtsYSMAM0R_p)( literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/48/bbf0db7e813affab7d8dd2842b8455ff9876be b/tests/files/submodule/dot_git/objects/48/bbf0db7e813affab7d8dd2842b8455ff9876be new file mode 100644 index 0000000000000000000000000000000000000000..67e7cc3fc7d8c3c9654c71c435a768125b44b1cb GIT binary patch literal 118 zcmV-+0Ez#20V^p=O;s>7Fkvt;00M>7iujbwB8Kcr-aB!t4LWE6moC3G zG%zqTF#)Pb%q_@C)hnqeVdyv>| literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/4a/1e3e4500962c3631a479726bf2e40469594cba b/tests/files/submodule/dot_git/objects/4a/1e3e4500962c3631a479726bf2e40469594cba new file mode 100644 index 0000000000000000000000000000000000000000..4cbe437175ed3f83e00887af2049c41f608890a2 GIT binary patch literal 21 ccmbFL0xnL7l2XI \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/4b/7c90536eaa830d8c1f6ff49a7885b581d6acef b/tests/files/submodule/dot_git/objects/4b/7c90536eaa830d8c1f6ff49a7885b581d6acef new file mode 100644 index 000000000..49e02749f --- /dev/null +++ b/tests/files/submodule/dot_git/objects/4b/7c90536eaa830d8c1f6ff49a7885b581d6acef @@ -0,0 +1 @@ +xA0 E)|)r,6a`N(JE03t_<}OD>9 22k]KA(*,)'w=(h1̡`,1s(/댜%/Ѻ?K;;/iΫve ڿ}VJAp妟t~*Vf \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/4c/411dc8e6ea6fcba0ed56e84aa7707f881d24c7 b/tests/files/submodule/dot_git/objects/4c/411dc8e6ea6fcba0ed56e84aa7707f881d24c7 new file mode 100644 index 0000000000000000000000000000000000000000..6905503c5748d14797814b100fc732aecc136f65 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`95WDy@>-Rjv?WO2`5?r literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/4c/ce9432b2f80461324a61611f6143f8544cd80f b/tests/files/submodule/dot_git/objects/4c/ce9432b2f80461324a61611f6143f8544cd80f new file mode 100644 index 000000000..992205807 --- /dev/null +++ b/tests/files/submodule/dot_git/objects/4c/ce9432b2f80461324a61611f6143f8544cd80f @@ -0,0 +1 @@ +xKOR06a0" \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/4c/e44a75510cbfe200b131fdbcc56a86f1b2dc08 b/tests/files/submodule/dot_git/objects/4c/e44a75510cbfe200b131fdbcc56a86f1b2dc08 new file mode 100644 index 0000000000000000000000000000000000000000..e2e5846b94c49ad605475e105574d31247a710ce GIT binary patch literal 169 zcmV;a09OBa0j-W(3d0}}Mf>e4+(3ilD+;9)x{`6!HXn(>OrXoJbPfHx5ANYoTi1o9 z_Wr`X6p6;`Y*co&fYLyi$Wl~Q%_gCC0NJ562x7-xHkLNcqjts@#4vV&p!!;E#5n|) zT!8G6N)>qWyLEX`W0uc1QrqP1pr3f)3v=toVDdueF;VOL)C&^#AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9;0{Xq_RchDAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9xWF>;Z(a1ZUm8cn7wk6Lv6U@&t}g)kVxU literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/4f/4065121cb78fe6116ae7e3075f5c5a446bd08b b/tests/files/submodule/dot_git/objects/4f/4065121cb78fe6116ae7e3075f5c5a446bd08b new file mode 100644 index 0000000000000000000000000000000000000000..fcc9d28b5b06e375c14a54dbedee885d48a385ed GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9$h*{dJbY#5|3~_^=a)9~1glgYR|5e3ks;rqODKT= literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/50/3d77289b054742f507d8a8ce7cc51d3841d5b9 b/tests/files/submodule/dot_git/objects/50/3d77289b054742f507d8a8ce7cc51d3841d5b9 new file mode 100644 index 0000000000000000000000000000000000000000..4a4c59c13cccca5d7ca486bac95050762c08e49c GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9*b=VtZbGhV;sha%U6Z`-a;~0wW-|chu^~o>9w%7< literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/52/4038b20b297f40d78e7d83e04e38049457312b b/tests/files/submodule/dot_git/objects/52/4038b20b297f40d78e7d83e04e38049457312b new file mode 100644 index 0000000000000000000000000000000000000000..d50783182af37af59b69b92a0f26fafc77e2c097 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9_}y30!duA^wLjqP>#sYnZMS>y+Xn#s%_Ft4Cn{9{ literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/53/a72df554e585e239e41cb1fc498d5aee9bb164 b/tests/files/submodule/dot_git/objects/53/a72df554e585e239e41cb1fc498d5aee9bb164 new file mode 100644 index 0000000000000000000000000000000000000000..d1def1c0d4ac0ccb622031f793c8264df8e1cfd9 GIT binary patch literal 172 zcmV;d08{^X0j-Wpio-Av1!t{O=mIhNwj~HdASY?HS`#m91-T7#{D?Wj>|VV^QPlT+ z6YT)LWH9TsC8!qIxELCQwx(cnBET5A<f^l(Mv}4pPTIeF) aAy|Dg$rv@?SuXsaPBlZeLwx{Q-dKAK_Ew4j literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/54/0200385c3b0b299c7a87ecf59ca94c32fbbe99 b/tests/files/submodule/dot_git/objects/54/0200385c3b0b299c7a87ecf59ca94c32fbbe99 new file mode 100644 index 0000000000000000000000000000000000000000..e2a5e9d562a416e2fbcf85f14399f118b22ac81b GIT binary patch literal 20 bcmb$5Wz |Cer+tFְj&)@F;˸+\t.HYY08{g*Tvyk |a* gtJ=Hh]j8𳼪xN1]|EX; \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/54/5ffc79786f268524c35e1e05b1770c7c74faf1 b/tests/files/submodule/dot_git/objects/54/5ffc79786f268524c35e1e05b1770c7c74faf1 new file mode 100644 index 000000000..0d0d2d2a7 --- /dev/null +++ b/tests/files/submodule/dot_git/objects/54/5ffc79786f268524c35e1e05b1770c7c74faf1 @@ -0,0 +1,3 @@ +xQ + D)@hBO٬iVY 3cxC)ƽ꾟/U5,& +p3ɲb5,L TxW](ժ/ѷB $%ԝQ #U]30:}m&Ę߬Q8'N \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/54/6bec6f8872efa41d5d97a369f669165ecda0de b/tests/files/submodule/dot_git/objects/54/6bec6f8872efa41d5d97a369f669165ecda0de new file mode 100644 index 0000000000000000000000000000000000000000..2099637726ad7a068a2fb6fa40bed237c7753d2b GIT binary patch literal 168 zcmV;Z09XHb0j-Wv3c@fDME%Ywasg$Vbek-Q2%coS-D*E-Bw4}Z8$5%5^9JTIQuci_ zA0|9lRrQ*bkz!s+0BDIJL>f^vU4@A^KLc$~~%_&F0 zWlZyw*5vqYk5YY;V&-oTmh$xHCckjyJ1?cS?zBzb?IfkXPE}c~Zl6y3#Sa6GI00eu WN5}xKxBa>4Kb_9Bnfn5Ta8`9V7g1LL literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/54/7a4bae347658f0d9eed0d35d31b4561aea7cf8 b/tests/files/submodule/dot_git/objects/54/7a4bae347658f0d9eed0d35d31b4561aea7cf8 new file mode 100644 index 000000000..7696e8d2f --- /dev/null +++ b/tests/files/submodule/dot_git/objects/54/7a4bae347658f0d9eed0d35d31b4561aea7cf8 @@ -0,0 +1,2 @@ +x] +0})rKI6TF<363 m[EC'j@B62`qlՋzEo(Z`]Bۢ-MDߟmחF[?F>&n5J,} ]=Q͘Q#ϥS#뮾~VK \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/56/195ef83e9e20ca75dddef0630633fc8060ed11 b/tests/files/submodule/dot_git/objects/56/195ef83e9e20ca75dddef0630633fc8060ed11 new file mode 100644 index 0000000000000000000000000000000000000000..fca75ae4ee308e71c69f39a4e37589a0d9c6f2e4 GIT binary patch literal 21 ccmbOI#XAE9|PC+8k!JmTR**RS38b#h+)Q% X>=`Bi)7NgU@=vDeBI|Cx$JtlBp@2>4 literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/5a/28efd2fcf55b7b58eb7cc66b5db836155bc2bb b/tests/files/submodule/dot_git/objects/5a/28efd2fcf55b7b58eb7cc66b5db836155bc2bb new file mode 100644 index 0000000000000000000000000000000000000000..cd7ad7574171e5ca036ad62af81e169bbf285643 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`95TEzqfx^5A>lwbf{CD(YE4jb*>u~_~$RgCJB`Ssh literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/5b/0be7da7cc9ecdb6c2de5f818c30a42fbd2c9fa b/tests/files/submodule/dot_git/objects/5b/0be7da7cc9ecdb6c2de5f818c30a42fbd2c9fa new file mode 100644 index 000000000..83be034f1 --- /dev/null +++ b/tests/files/submodule/dot_git/objects/5b/0be7da7cc9ecdb6c2de5f818c30a42fbd2c9fa @@ -0,0 +1 @@ +xKn! D\ #ciEI m2fD{?(gȮ^DZ)#R=TO#lHJ@ 0|5OrS U9`ꎺp2=n1Նzp_/|7oc^{{]66g:}`ֺUi~_W \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/5c/16fb8b958b51f6008f9722b279b1fde0defb76 b/tests/files/submodule/dot_git/objects/5c/16fb8b958b51f6008f9722b279b1fde0defb76 new file mode 100644 index 000000000..d52f3479f --- /dev/null +++ b/tests/files/submodule/dot_git/objects/5c/16fb8b958b51f6008f9722b279b1fde0defb76 @@ -0,0 +1,3 @@ +xAn E\#ҨԓtH OOqћ UO + +VmU &L=yi>pe"Fܠ=t3`駿_7>[t.&}n1wQA=)s<$#JsaEG7cWm<^=S zwjOIi979EKd9|(&ZX){eB5s?$9{dw`dQxfq7))9CeO$Qp{n9J3^yM?$deZ>e2cKie Y`fSh`HPZ21>OYxk99cH?1?@^!u5Kh!egFUf literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/5e/53019b3238362144c2766f02a2c00d91fcc023 b/tests/files/submodule/dot_git/objects/5e/53019b3238362144c2766f02a2c00d91fcc023 new file mode 100644 index 000000000..3977a579a --- /dev/null +++ b/tests/files/submodule/dot_git/objects/5e/53019b3238362144c2766f02a2c00d91fcc023 @@ -0,0 +1,2 @@ +x=n0 @:th?[PzJ$ +\!ۛ>>n fC2[ TF96ˢZM?Դ4%  X4{IiY:}gW\xi]>B%|y׮ېMLP \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/60/94405a5209406708ffe737077841b45c63fe25 b/tests/files/submodule/dot_git/objects/60/94405a5209406708ffe737077841b45c63fe25 new file mode 100644 index 0000000000000000000000000000000000000000..3d54f70076b3fb6decec2805aed4ae8b25b04bab GIT binary patch literal 175 zcmV;g08syU0i}*zYQr!Pg!`;h>;-DHyZW&pgcN#$+(2Hf5<_eSp+JvcLvw>Z3=H!z z!${ke)_O=v3^O|MqFBr`cijhg^=vUMOgwWSbWSLS zP%UK=YfCzMVu?+DjeF~GZHxBN;9KR@cm07=dAq6qq04Q{>tm9(odF%jK$JMbr)6u+ dksf!4{(H!Lm9p+P$neZV?oiiAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9C_K5yqVhl2i6gToU1b0KV@|HL?j!&JC?d9o6ej-w literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/63/1446ec50808846e31fff786c065e69da2c673b b/tests/files/submodule/dot_git/objects/63/1446ec50808846e31fff786c065e69da2c673b new file mode 100644 index 0000000000000000000000000000000000000000..7e8fca7dea7f6b1638a93524fa298f08377009a1 GIT binary patch literal 169 zcmV;a09OBa0j-Wr3c@fDMqTF=xqveHZ$L!wB-6=6yJ%C=5j?)ZGr0TSw|G2i>$-@x zF`lF|YpB&DxRA(|WUWEV)v%{HrxM7=l2c_HK<(Ih6HPT47hIf(++2OOK+MQI7nmGF zo~UARAt-#yt95-)6VZlXESvfQvx!*uHZE9H literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/64/d0c52ac4c061cf1705e3005dfd86fb70374a14 b/tests/files/submodule/dot_git/objects/64/d0c52ac4c061cf1705e3005dfd86fb70374a14 new file mode 100644 index 0000000000000000000000000000000000000000..5b1c05bad73d912e2921b63220d952a436514bb4 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9cp+iW`t^3k=E;7OzwFO`tGzAd!BznJVAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9aG6niGsd`oYjIJkrTJLbatF;;SZ~MXVR`v1RS*r)|g9r(FWY~H{bYJ^D?B$=RN literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/6b/790ddc5eab30f18cabdd0513e8f8dac0d2d3ed b/tests/files/submodule/dot_git/objects/6b/790ddc5eab30f18cabdd0513e8f8dac0d2d3ed new file mode 100644 index 0000000000000000000000000000000000000000..6d20206bfced3f3e755eb826d2b388dadcab6c39 GIT binary patch literal 51 zcmb_&KneS literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/6c/2d312ebd67eed4c7e97e3923b3667764e7360e b/tests/files/submodule/dot_git/objects/6c/2d312ebd67eed4c7e97e3923b3667764e7360e new file mode 100644 index 0000000000000000000000000000000000000000..c9e019411b6bcb21d93a9d9160f8fbf9718836c2 GIT binary patch literal 171 zcmV;c095~Y0j-WpZo@DPM7!20bb%NY^|1s5MSz@yrs&2CTY*diJ${6qp}Tprcr)Dg zeN&4meQ6i5;A#y?7J+$X5A1+*WR!x5XIQb$5HqF4ys68f)?+9sFQsw-jDAIqNLhT2 z$(PJ?a#d)6p-W$_+moBBeZGj>VecpZg$MmmZT%ch-S|2uZv8!VA=bYA4%)x1b0x&F Z70})w1DMf{=PLi{G~>v2m=Bs0SAY8SR7?N> literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/6d/e8fb35c2e4a69addd030f2dbb4f73fd4742b5b b/tests/files/submodule/dot_git/objects/6d/e8fb35c2e4a69addd030f2dbb4f73fd4742b5b new file mode 100644 index 0000000000000000000000000000000000000000..d75136cbc6e99e1da34c9357b67800d1dad7e9a1 GIT binary patch literal 20 ccmb;5Y?XoN*0vm`K zrkNbW=#!#T-lgisMMOW}#AVmF#=r2O7tN)%&XkqUHgKuOP&2XA_0!vS*VaxUh6!TO X*ZyTxU%R>Fe==1US$FjXEzVaZ5AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9ur-$5snxfZH8p+S@3PMt>oVU;mjeLb?I8V~<|#w~ literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/74/32b657191a10587335e74ae6f0966a7eed2976 b/tests/files/submodule/dot_git/objects/74/32b657191a10587335e74ae6f0966a7eed2976 new file mode 100644 index 0000000000000000000000000000000000000000..7356a4366517a78fe0ffe221ef79b24d5ad3eca4 GIT binary patch literal 21 dcmbAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9sNer?en->Vg>PJsOp0C~=6N&6OAG)A;v%_{D<>8J literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/7c/60c6ab64c74d52f973d18cd1933318a8d9ae2e b/tests/files/submodule/dot_git/objects/7c/60c6ab64c74d52f973d18cd1933318a8d9ae2e new file mode 100644 index 0000000000000000000000000000000000000000..b4d53f9be1d643c5a3b4e03b6c379b223969d01c GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9uuOaTi;sK$%ggWeZ!Mc_Z_B+y`!E3beIgaD3n@AP literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/7c/ac4f8d519d524ed025732ee220f6451665a770 b/tests/files/submodule/dot_git/objects/7c/ac4f8d519d524ed025732ee220f6451665a770 new file mode 100644 index 0000000000000000000000000000000000000000..6a9d16420b7793af8ed8a89d7fe0332098436323 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9xPD`~RN*`=pQVg5rP6L~sr|w7Z7l%uJ|Z8D+9$FA literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/7f/5625f6b3c7213287a12c89017361248ed88936 b/tests/files/submodule/dot_git/objects/7f/5625f6b3c7213287a12c89017361248ed88936 new file mode 100644 index 0000000000000000000000000000000000000000..36a819a3886d095646ccbc05638734783443418c GIT binary patch literal 172 zcmV;d08{^X0j-WfZo?oDMZ4w{Tp-q91`JYEMaoHrVcd9O6XCJc;|KK&-Tn6$PmkNa zZ))clzqE^3@1;^H=sj|ggqd(z2-OZPYM(FScG&yLf8#+vR9ioXQ#ZcOiCce9U5K@Bzk~K~>s-cw aIfiU+kO0hhN4d&>I?V{#4)XzquvohOpI6oZ literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/7f/86d16e0254f64f784198c6a55ef9bf7adbe7ce b/tests/files/submodule/dot_git/objects/7f/86d16e0254f64f784198c6a55ef9bf7adbe7ce new file mode 100644 index 0000000000000000000000000000000000000000..e38986e65f61f0bb5df3c1a9d0dbdeffaa712d1f GIT binary patch literal 87 zcmV-d0I2_X0V^p=O;s>AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 tFfcPQ0jfyMEyzjLE2$`9xK&-zEm}G`%ej%2O<-}k`El;h1pwewAD32;Ce{D| literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/7f/bfee9f8882ada1ec45c4925baf5649d96c4a16 b/tests/files/submodule/dot_git/objects/7f/bfee9f8882ada1ec45c4925baf5649d96c4a16 new file mode 100644 index 0000000000000000000000000000000000000000..18a268ed029c7742f6347cf21b68139776f38180 GIT binary patch literal 21 ccmbe}D0KT-S9` zI}n|;iP$0qVFDB=kfNuV3JgdRI^&dwX&TXw7|foVY-(pj=ZmB`gv100GkWJ^jA4X8 z^C-DE79o@0`l`(yTvhGkmAP*Adhl=D^D~#)j_%Zj-^Yb(+b>NrYg;~@)|>S{b$cQJ Xdv?(|)8AgM@=vGfA|7d41V@-B%WB8Qn`rbN15ZBK6iab-W^kntI!+V; zVUFknV^Da?yEc7L717T(Qr-0JpkH|43v+EpcgjNNF;H#$&=^VD^69kRwY7c3Ptiqv XHDHYDZGSHOPp9ffmQ8&Dfbm$pU9L_` literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/81/f545324202466d44115656ea463a5bb114345f b/tests/files/submodule/dot_git/objects/81/f545324202466d44115656ea463a5bb114345f new file mode 100644 index 0000000000000000000000000000000000000000..678414a7162dfd38f7bf4d8580b5c718cb30dc0a GIT binary patch literal 170 zcmV;b09F5Z0j-W*3c@fDgniB_asf;8*Crq$c#`dIR{PMVBwO(K2G1bO!^|)YAC_%f zMcZk*NX=Qt5ZO;evriKP&t2Ax7QqBWWRA`*!OgQepypjP1QUE;E*v9K<^YK)nZ>1; zh$13nn~9x*Q{JWOhDAg_-+*P;w}wCSfEQ4yt$)gjXB)88W2hNW>iX$vyK7^T4;{(} YeI4UCs@`^T$^ZOR9c10r7ehx`wNJ%SKmY&$ literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/82/d331cf4d3d4ee537c4f866cab2633b46a8d090 b/tests/files/submodule/dot_git/objects/82/d331cf4d3d4ee537c4f866cab2633b46a8d090 new file mode 100644 index 0000000000000000000000000000000000000000..1ff8dd289145682049e36766f492870dbc2c37ad GIT binary patch literal 171 zcmV;c095~Y0j-WfZp0uAMZ4w{T%aS{F%YCtRjDU24s^0e7!i-u;}`V|-Tn6$Pfz=C z?B*%PHygEjq*~TBH_iG)I}C_PZ{+zpCBO@pp1*65N8QeAOK-v zYEU#m3|mW1UiRq2U)s(5*F&_Q{(kA-_>^zi`naakc70tp?c;eHRn*4*GwJy7h?xWD Z7}&qV3gG5D%dP&W)6J0mbicziR-V)tRWkqp literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/83/c6a1f0d7d8df18a9d9bfe917707aec37868418 b/tests/files/submodule/dot_git/objects/83/c6a1f0d7d8df18a9d9bfe917707aec37868418 new file mode 100644 index 0000000000000000000000000000000000000000..1ed468a0500165e37f4661b778945ee80399ff38 GIT binary patch literal 87 zcmV-d0I2_X0V^p=O;s>AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 tFfcPQ0jfyMEyzjLE2$`9nDIL+BQ<%Nb$?x`Zb@Op+C4Jb*8uKAArVN*C6xdG literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/85/8f46dd7496faf7af72102ca15cccff832b5377 b/tests/files/submodule/dot_git/objects/85/8f46dd7496faf7af72102ca15cccff832b5377 new file mode 100644 index 0000000000000000000000000000000000000000..ff683f7f4c55ed960ecc39cf2e4847930a87d417 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9*cfc4kTb#I%Tcw2&7Y6wJw5Rd%%#rW~;04)_a_pV?2bp8^d7 zl6U~fLqtO_T}rhF7gc*-h|6v-2miv29yFJFG^eioIyx@(*;OIdy1rZ6uGV`DW576q YJ-g(bX={6~@=vE}N7mhZ062VCGj767TmS$7 literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/88/cf23d06f519bec7b824acd52b87a729555f2e7 b/tests/files/submodule/dot_git/objects/88/cf23d06f519bec7b824acd52b87a729555f2e7 new file mode 100644 index 0000000000000000000000000000000000000000..ca4c55ac1d4f1240b266de754b1848054c4ceb2a GIT binary patch literal 169 zcmV;a09OBa0j-Wr4#FT1MqP6XE?~p&Ac-+1o@5xncG1$%Y2xuEp26MszQxOb9*c zjdK@nIZFe@6`!m|4<)5p%@Dk{L1)ApIw0i>1|o4l%R5U;+6{ow2DG|3r9z3`7&Jbj zE-9;&3wkHuhtxXGc8<$K`J7uM_4OHqeR7R4ze)`+)+S(MxkYKd> WYN9c!(_Sw8Pp9f3>#n~4*jN(>Yg9S_ literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/8d/ae07ab9d98b5fe04d4d7ed804cc36441b68dab b/tests/files/submodule/dot_git/objects/8d/ae07ab9d98b5fe04d4d7ed804cc36441b68dab new file mode 100644 index 0000000000000000000000000000000000000000..35a95ed5387294406b87e3b77edba0194c1eeb50 GIT binary patch literal 169 zcmV;a09OBa0j-W*3c@fDgniB_asf;JHcdc8@FeSYWBbsiq+9U#2G8Kz%)oqnRM&M8 z?P9!0W7ft*M^g!8IeHT_Gcgqi-T`>vY|8{A1*djwyot8p$Aq?c#=?OBU!kOIQt}?+ zRI(kJ`!g#%Wv)#hR7Lc2Myi{>9rOzieB)Hx(V4Q)c??wBJ~T#>wtRY9@7mfNAmkX5 XzM5o=>T5R_{wGs)k!4d~@!VJZ*F92+ literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/8d/c79ae7616abf1e2d4d5d97d566f2b2f6cee043 b/tests/files/submodule/dot_git/objects/8d/c79ae7616abf1e2d4d5d97d566f2b2f6cee043 new file mode 100644 index 0000000000000000000000000000000000000000..3a61779c153c874a2add45cbd826ec27fad139ee GIT binary patch literal 48 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 QIy8WJLT31X04Zy74>ocSS^xk5 literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/92/4dec9203af851c3b3e564697ab3004b35b3c2f b/tests/files/submodule/dot_git/objects/92/4dec9203af851c3b3e564697ab3004b35b3c2f new file mode 100644 index 0000000000000000000000000000000000000000..d2477f9e24cb95581f285bd23f8b98a8aa87f1cc GIT binary patch literal 21 ccmbAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9m}z@+9ny&:s!ND^}]z>?h`t`GZ \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/94/c827875e2cadb8bc8d4cdd900f19aa9e8634c7 b/tests/files/submodule/dot_git/objects/94/c827875e2cadb8bc8d4cdd900f19aa9e8634c7 new file mode 100644 index 0000000000000000000000000000000000000000..09507fcccee55cd2d20372688656e95238f2b6e8 GIT binary patch literal 87 zcmV-d0I2_X0V^p=O;s>AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 tFfcPQ0jfyMEyzjLE2$`9uv+8o5+J_f4|{-G!5iKEB~HS3JpkLVAM{^qCsqIe literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/95/ef665df6ebd69842c5e74a24cb8a12225dee3e b/tests/files/submodule/dot_git/objects/95/ef665df6ebd69842c5e74a24cb8a12225dee3e new file mode 100644 index 0000000000000000000000000000000000000000..6c72a01ea1524df2d0b822268cf7f0f8b3ee32dc GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9__^oB%s|fbtKDN+tZHwH=EjBlT?PR6*&$oO2P$Cz literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/98/fb6a686563963b8f7e552d747158adbc1c2bd6 b/tests/files/submodule/dot_git/objects/98/fb6a686563963b8f7e552d747158adbc1c2bd6 new file mode 100644 index 0000000000000000000000000000000000000000..0c9e31f1d37932fb53ea58c23ac730490bf02079 GIT binary patch literal 18 ZcmbAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9@bXK~`llZC@4T`w^MrrXE9V=y!@Ff%bxC`qj-(JQGaVF<6i+v#9@BrE>BPQHy_;hCZz KnVbMW;SeL%BNRvg literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/9d/6f937544dc3b936d6ee1466d6e216ba18d5686 b/tests/files/submodule/dot_git/objects/9d/6f937544dc3b936d6ee1466d6e216ba18d5686 new file mode 100644 index 0000000000000000000000000000000000000000..3baaddc3896bc54c26c6f75a6b980dd541b52c18 GIT binary patch literal 87 zcmV-d0I2_X0V^p=O;s>AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 tFfcPQ0jfyMEyzjLE2$`9C^6a=E-57tQEd9$>)D5CS#@tU%K+SHAjme&-6~Ywxc^`;qw@{wtZ+Nv9#sWX?-IЩkqQϕ֝.=T!ֺ}:w;R*t~d;үX \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/a1/15413501949f4f09811fd1aaecf136c012c7d7 b/tests/files/submodule/dot_git/objects/a1/15413501949f4f09811fd1aaecf136c012c7d7 new file mode 100644 index 0000000000000000000000000000000000000000..e7ccbd4a9cd321ab24a449b1793ed8918903ff35 GIT binary patch literal 21 ccmb7N%7AA&Ldrn^fO!@|d literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/a3/62d30d5fe1021cabc4c90f073ba2511d5a43a1 b/tests/files/submodule/dot_git/objects/a3/62d30d5fe1021cabc4c90f073ba2511d5a43a1 new file mode 100644 index 0000000000000000000000000000000000000000..e587c0fa5c7217e109d433d93d0bede441b98c7e GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9nB@Cr67%|28Ed;Rx9O`5ST;x7=mP-ZVjp#qwkLD| literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/a3/c1f067074cdc9aa998cb5f3cad46a6f17aab2d b/tests/files/submodule/dot_git/objects/a3/c1f067074cdc9aa998cb5f3cad46a6f17aab2d new file mode 100644 index 0000000000000000000000000000000000000000..a0e3b6b8470371acb4a60e6de92b640c71fd21f1 GIT binary patch literal 170 zcmV;b09F5Z0j* zMWgo@DJf|noD;wZhCI?Rcwp=&=j;$Xfs4e($2p)nVoAH`$yg?az}(xJymbvo!P_1U zASGvb#DFxac*>HCuAD{mbBUaHeXIOC9`O~YTxv6A<+FC2%h8n-S<3ouYrAV>f_3&Q Y>ubvc)xND<(mzerLe^b<0AhYuRJ>7B0{{R3 literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/a3/db7143944dcfa006fefe7fb49c48793cb29ade b/tests/files/submodule/dot_git/objects/a3/db7143944dcfa006fefe7fb49c48793cb29ade new file mode 100644 index 000000000..5429636d1 --- /dev/null +++ b/tests/files/submodule/dot_git/objects/a3/db7143944dcfa006fefe7fb49c48793cb29ade @@ -0,0 +1,2 @@ +xKj0)I h4 ٽE1aY`E+50"MzB +̻uOT kZSɒrR43"7Ũso9s'nwx7>苤q5qij?XcKM^}]z>?DT`(uouvd\ \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/a4/4a5e945176ff31be83ffca3e7c68a8b6a45ea5 b/tests/files/submodule/dot_git/objects/a4/4a5e945176ff31be83ffca3e7c68a8b6a45ea5 new file mode 100644 index 000000000..6a4cf4380 --- /dev/null +++ b/tests/files/submodule/dot_git/objects/a4/4a5e945176ff31be83ffca3e7c68a8b6a45ea5 @@ -0,0 +1 @@ +xAn E\#iTUItH Oq旜l9 (ERrĒK4417\b HFFY`)@kH =w3 _7>雤k:mu>6ILJiM5տ,7O!~;W \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/a5/1546fabf88ddef5a9fd91b3989dd8ccae2edf3 b/tests/files/submodule/dot_git/objects/a5/1546fabf88ddef5a9fd91b3989dd8ccae2edf3 new file mode 100644 index 0000000000000000000000000000000000000000..22af89a76ace6c672cf4e15227cc9bdd04b4fe7c GIT binary patch literal 169 zcmV;a09OBa0j-Wr3c@fDMqTF=xqu~;|AL6%NhZ^&cG0G!Q}Fl(&*1KT-{SG8uInP& z#(0s&+`+MD|zPNjm>$Av5d(hn*iXP z%UA#-%tqlU@7nZ1RYX7ENOjYnE5&ATBo1k0D07~KX(k}#8Im88MDH^p0Gpj#+0;%rW=wG;jNnVa;3*C;I$_}$ z9D0uAg7=2s`l`(yQdRBa#ZotWJ>(be{N$;&qce4p_i>Th_Dd@)+Lljm>&^D#0f$VG Y?AayfOkcaXmVYu$7g;v*1@1^zvlPBi%m4rY literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/a8/98e8a6b143188022863bc1cab0b5f7514624ba b/tests/files/submodule/dot_git/objects/a8/98e8a6b143188022863bc1cab0b5f7514624ba new file mode 100644 index 0000000000000000000000000000000000000000..ee93042c46517de5043dc2af7fd1e2febb0e0799 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9$bIqK^w5)Kv+iCn_;h>Acl#?P+R*?Pr6i8HJSma@ literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/a8/b607b221454c4cd7bc7831b2d19712bb4ff888 b/tests/files/submodule/dot_git/objects/a8/b607b221454c4cd7bc7831b2d19712bb4ff888 new file mode 100644 index 0000000000000000000000000000000000000000..ebb588dc31ade6d1222b4ad19b29e80b46dc6f64 GIT binary patch literal 21 dcmb3XUIs+$;sy`$;d2L$SmecR7lIrNd|0Qc(>D52T1B1RSb1MKu_Xa5d literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/ab/16bc1812fd6226780a841300a2432dfd0c6719 b/tests/files/submodule/dot_git/objects/ab/16bc1812fd6226780a841300a2432dfd0c6719 new file mode 100644 index 0000000000000000000000000000000000000000..7f549b31f21baad14893062b478a5cce0f24af53 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9__JmH$|)f~SSn`;aRyC#yJtyz_XCf|WnCAw zQwS%mB35_|1XH9ym>|UL00Pcl5YtRg$TLKQ5zJ0iHnpB|zdQgjh@Y8L^qgZBpHh|y z0a4IlFm&j֛ ,ylfcxG:Y6:W. \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/b0/ee249c5e5cc9464f3bc0034ab05632dcb87a23 b/tests/files/submodule/dot_git/objects/b0/ee249c5e5cc9464f3bc0034ab05632dcb87a23 new file mode 100644 index 0000000000000000000000000000000000000000..0856073eb7577d4a618e17ef98ad9d95188b5fde GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9*fyj3pn}xJ=_N;O_*Ss@=LcTTJ`DixAt8FB3@A1L literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/b1/288f8beeaa6cf048c3a9f578d4e266fab8820e b/tests/files/submodule/dot_git/objects/b1/288f8beeaa6cf048c3a9f578d4e266fab8820e new file mode 100644 index 0000000000000000000000000000000000000000..3ac1f7e69c7b7610b37491cae62decfd2a9736e7 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9sC>Hf*}EvYoS^iqWTSr*lh>}AbQ%Eu)*|k#wkhZU literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/b1/5336206c9040f4c52660b3f3c76ee02ccece56 b/tests/files/submodule/dot_git/objects/b1/5336206c9040f4c52660b3f3c76ee02ccece56 new file mode 100644 index 0000000000000000000000000000000000000000..b405d772a7c65c3ab8132540f832058c7167ccb4 GIT binary patch literal 20 bcmbAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 tFfcPQ0jfyMEyzjLE2$`9_{4O&G|=>lnrUZ(dh-VV&06epI{@W@AVq$vC|>{o literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/b6/153b8fe540288d66b974ae05113338ab1a61f0 b/tests/files/submodule/dot_git/objects/b6/153b8fe540288d66b974ae05113338ab1a61f0 new file mode 100644 index 0000000000000000000000000000000000000000..0cfa3f271dc6459b3b77512c527abab5d036546f GIT binary patch literal 167 zcmV;Y09gNc0j-Wf4#F@D1Ucsw`2eVCY==k)A@LI9xX?qJDm4<%C*lpBxlw%%bN=yL* zmyuIc$8USp=69)P{{CXAtH12>8#jJ(scr90o8`Tqq_*wUl*QWo>2JCE5HcWS0`SM- VJPfYWUT*qNr|Ti}>b|E{Sk?h+Q+xmb literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/b6/987bc1201ad19774c43c0ea8078f6f51d76bcb b/tests/files/submodule/dot_git/objects/b6/987bc1201ad19774c43c0ea8078f6f51d76bcb new file mode 100644 index 0000000000000000000000000000000000000000..552d5b1d13d28c934858bd88bb029be8e666fd33 GIT binary patch literal 20 ccmb7N%J{E?XE?lJmPelhN literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/b9/84607a41cc1f5c512a49213404b1b4cf8df4a6 b/tests/files/submodule/dot_git/objects/b9/84607a41cc1f5c512a49213404b1b4cf8df4a6 new file mode 100644 index 0000000000000000000000000000000000000000..df722db793163da7032a87c6c7d6b458a40ce91c GIT binary patch literal 7170 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.~c̵ޤyRbӜL1EM|9 XK \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/ba/492c62b6227d7f3507b4dcc6e6d5f13790eabf b/tests/files/submodule/dot_git/objects/ba/492c62b6227d7f3507b4dcc6e6d5f13790eabf new file mode 100644 index 0000000000000000000000000000000000000000..1a083da956eb37df56322e9a2e301df46e9d37c2 GIT binary patch literal 23 fcmbAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9kmvmLcISbc>an8J*b6r&pUQOj{TKl7Mj|M^87ZUy literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/bb/0850568bb43049031a38b01ddb60e4a487f823 b/tests/files/submodule/dot_git/objects/bb/0850568bb43049031a38b01ddb60e4a487f823 new file mode 100644 index 0000000000000000000000000000000000000000..51e2c9a57647dcf3ea8414c043965bcba6482e8e GIT binary patch literal 19 acmbhe#}D!uynC+}rQ*Kt zn`j&3MMkZ>TKp&-Jzlu#Bj#Zu0ZsxPa0V$?%)v^giw!PSPzgKNb^p952SEE9vw6%JJZN%96V literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/c1/8b4e9b0829411705d7fa9a1570a20d88780817 b/tests/files/submodule/dot_git/objects/c1/8b4e9b0829411705d7fa9a1570a20d88780817 new file mode 100644 index 0000000000000000000000000000000000000000..f52b1706094f6d899f03088cbfa340f248b62c0f GIT binary patch literal 19 acmb36<`(3n>XlTK zF!Uau^*k|aznrdb?DVT?pEi9v_rMuqPH}R6NeP3i!lBt6adUTWxNlRvx}rd|PL|=Y wp&8hs(!89^>QWlK=n! literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/c5/a3fdb33f052b8f17dac83c533b62244226f4ba b/tests/files/submodule/dot_git/objects/c5/a3fdb33f052b8f17dac83c533b62244226f4ba new file mode 100644 index 0000000000000000000000000000000000000000..386dec8d58930bc32bdd9bc67ccf6490d0584138 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9P%f4GcJSXt1Fwe{3KUiq-^$mXya53D1|p1eAtnL< literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/c6/567e2feccce3893ae0aaac2bf97807338aa8d4 b/tests/files/submodule/dot_git/objects/c6/567e2feccce3893ae0aaac2bf97807338aa8d4 new file mode 100644 index 0000000000000000000000000000000000000000..c94afd33cb4984614ffe8e7eb1d714c52387a593 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9Sh$#N-k)R62ETLC82mDK6x^~+Yy$xE9wCT^2_~xm literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/cb/45eef6fa1ad913137d91c6b81d2b42d69094a6 b/tests/files/submodule/dot_git/objects/cb/45eef6fa1ad913137d91c6b81d2b42d69094a6 new file mode 100644 index 0000000000000000000000000000000000000000..257cd60b84dc1f2ef36e734332212298ebeb6501 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9So!E=_4SL{3e3{ literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/cd/0d59357b36a447ff27a7c176b46e0a319b42df b/tests/files/submodule/dot_git/objects/cd/0d59357b36a447ff27a7c176b46e0a319b42df new file mode 100644 index 0000000000000000000000000000000000000000..eee7194a23b35db11a3a5969ed61da4e64e3333f GIT binary patch literal 20 ccmbAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9Sh0{?qm۩)qogj/ Rѝ3c]4Cd^X7 \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/cf/b9952c3a28831144a0fac7ea5a2d8517f466c4 b/tests/files/submodule/dot_git/objects/cf/b9952c3a28831144a0fac7ea5a2d8517f466c4 new file mode 100644 index 0000000000000000000000000000000000000000..2edb7b5b5d23aa703c8c0baaefa243310e5655f8 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`95PKJF8r(0q<^LJ+4S_$d-YzXz5DEbA^&(kgkR@jT literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/d0/0491fd7e5bb6fa28c517a0bb32b8b506539d4d b/tests/files/submodule/dot_git/objects/d0/0491fd7e5bb6fa28c517a0bb32b8b506539d4d new file mode 100644 index 0000000000000000000000000000000000000000..8dab6a9eaf1fff6a519dfb7bec1a5bdb56ff845d GIT binary patch literal 17 Ycmb1lELW|Y2Tm>k literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/d3/d171221e87a30e059d638f155f899595d96b71 b/tests/files/submodule/dot_git/objects/d3/d171221e87a30e059d638f155f899595d96b71 new file mode 100644 index 0000000000000000000000000000000000000000..bb027d90ec8ad27d15dab539b7bbb62138d2f501 GIT binary patch literal 19 acmb7F=j9^00M>7iujbwB8Kcr-aB!t4LWE6moC3G zG%zqTF#)Pb%q_@C)hnqeVdyv>|AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9aOnulv6-B^wQou58ztdeJ1^R$X#fD~wIM@^ZYKZ$ literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/d6/f31c35d7e010e50568c0d605227028aa7bac66 b/tests/files/submodule/dot_git/objects/d6/f31c35d7e010e50568c0d605227028aa7bac66 new file mode 100644 index 0000000000000000000000000000000000000000..1bc769ba7a6531dd25243ce519e23e97e3e79336 GIT binary patch literal 169 zcmV;a09OBa0j-Wf3c@fDMP26e}D0KT-S9` z>tj4=E5)+pX$qbP@+l1fh~$KLEELGkDZnTgBcs`=l})X95p*DV5KbV8avqoFZ^9~Z7|zqCTEZTWOsZx&#}fK$Y1 X&n`J<`rFI3{L^WA$g-I)iB4F%png#; literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/d7/875788aeafdd8e317880c00e3372f683cad91e b/tests/files/submodule/dot_git/objects/d7/875788aeafdd8e317880c00e3372f683cad91e new file mode 100644 index 0000000000000000000000000000000000000000..bba347a84ad3ee457d0fd8d7bc680a9b14441141 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9NU9T9OWDWrO3L?FXohSqV literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/d7/d8a71a719e2a4ca501991a66dab47df804f6ad b/tests/files/submodule/dot_git/objects/d7/d8a71a719e2a4ca501991a66dab47df804f6ad new file mode 100644 index 0000000000000000000000000000000000000000..1120d16023d93861a6072db8007415da48e4c239 GIT binary patch literal 20 ccmbi_@% literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/d7/e844eec32d74a3d37c4ce02d7138658e1035d6 b/tests/files/submodule/dot_git/objects/d7/e844eec32d74a3d37c4ce02d7138658e1035d6 new file mode 100644 index 0000000000000000000000000000000000000000..a14e22a1dd1d2051ae94770d2a31fa6f37a13403 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9@clpUbKi$K`}xe6rT0D3uK93$#UB6x+ar6ygeock literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/da/597fb7fba247a5b59d917e90342cf4b9695905 b/tests/files/submodule/dot_git/objects/da/597fb7fba247a5b59d917e90342cf4b9695905 new file mode 100644 index 0000000000000000000000000000000000000000..ce80a26f74728ce17d08706b23a7d09e8036abe1 GIT binary patch literal 87 zcmV-d0I2_X0V^p=O;s>AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 tFfcPQ0jfyMEyzjLE2$`9IN0qsn?uu4ob~#zS)v7tcsnXM!~xx4A3|gpCVT(@ literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/da/7b788b1575936a4381050610a37737c70b55a0 b/tests/files/submodule/dot_git/objects/da/7b788b1575936a4381050610a37737c70b55a0 new file mode 100644 index 000000000..ee571d418 --- /dev/null +++ b/tests/files/submodule/dot_git/objects/da/7b788b1575936a4381050610a37737c70b55a0 @@ -0,0 +1 @@ +xKOR06c0" O \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/de/996da0ef3dcee1a28aef9243aa3e255eb825b5 b/tests/files/submodule/dot_git/objects/de/996da0ef3dcee1a28aef9243aa3e255eb825b5 new file mode 100644 index 0000000000000000000000000000000000000000..42ae6ae2b11dbd5405b60af15a542637cb459ba3 GIT binary patch literal 20 bcmbAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9VEgi7g~KKL1FNTWM#YLXRY`u2-wpuymm(95w_rAsBab4F% z^yvLXTF%;I0(K)YGI+zq1aR2`xKvW~WeQ*el0mgo%bRFOBV#BK#t literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/e5/0fa6835cb99747346f19fea5f1ba939da4205f b/tests/files/submodule/dot_git/objects/e5/0fa6835cb99747346f19fea5f1ba939da4205f new file mode 100644 index 000000000..ae195007c --- /dev/null +++ b/tests/files/submodule/dot_git/objects/e5/0fa6835cb99747346f19fea5f1ba939da4205f @@ -0,0 +1,2 @@ +x] +0})ren"'ڇ6 ab~`M8MyFXd,Խf> )$AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 tFfcPQ0jfyMEyzjLE2$`9@HscdXwwgtL?f@nMEOMLA0a+B_yOeaATUwvCLsU- literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/e5/76bdfc9ed4627ac954f9390cf7a6151ad2a73e b/tests/files/submodule/dot_git/objects/e5/76bdfc9ed4627ac954f9390cf7a6151ad2a73e new file mode 100644 index 0000000000000000000000000000000000000000..f078883873a98d8e42f6d6af3100172fbdf0f915 GIT binary patch literal 169 zcmV;a09OBa0j-Wp3d1lA1-tese1QgkWJiHg3O$LUC~X#rgQGx?U(+*m_uedq;j*ra z+K}@_tB9TZG)EtqqLUPXXkZACqhRt5C1aQ(c_6b>l}#=BkmgY^yEFwvkUj?Tn0TN7 zG%~x%H!vGI^+)%Dy<6`GNHAmo Xdv)lXX|$EA{L^V#$g-I)hNoAO#Sl_E literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 b/tests/files/submodule/dot_git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 new file mode 100644 index 0000000000000000000000000000000000000000..711223894375fe1186ac5bfffdc48fb1fa1e65cc GIT binary patch literal 15 WcmbAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9*yX8{v`wkD-jsdIonz0gel(x(YCiz&h9cCm$tmmr literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/e8/183f05f5db68b3934e93f4bf6bed2bb664e0b5 b/tests/files/submodule/dot_git/objects/e8/183f05f5db68b3934e93f4bf6bed2bb664e0b5 new file mode 100644 index 0000000000000000000000000000000000000000..2625e1ad8147a829d854e6b9ef181bc945091a45 GIT binary patch literal 18 ZcmbgM=E>asWNS1AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9=(6ALKEwLc@-Od&v%c&AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9*v%0T*1g5RlUd4QgY4~uCrjFYC<6f62Ow#cohLs4 literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/ec/1e3d44e160e18dbfbaa80b5b0780ccc03e678e b/tests/files/submodule/dot_git/objects/ec/1e3d44e160e18dbfbaa80b5b0780ccc03e678e new file mode 100644 index 0000000000000000000000000000000000000000..ffafe3ac8816b2a6c5acbce331dfbe67e2d6c285 GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9koog_f!~%Vi7$T|T+$C}P+l#2?+*Y5gd=5u-z9qh literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/ed/551aa66cf0c6f1a078832f80899faff0ae88dc b/tests/files/submodule/dot_git/objects/ed/551aa66cf0c6f1a078832f80899faff0ae88dc new file mode 100644 index 0000000000000000000000000000000000000000..ae83a5fb44f5d8600558978545c66b25c6268a6e GIT binary patch literal 88 zcmV-e0H^AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9ILjMpT5Yz({lEJ1gJoOtxD01I-3I{V@*v`pi73zj literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/f1/25480ee106989ec4d86554c0d5a1487ad4336a b/tests/files/submodule/dot_git/objects/f1/25480ee106989ec4d86554c0d5a1487ad4336a new file mode 100644 index 000000000..53f16f09f --- /dev/null +++ b/tests/files/submodule/dot_git/objects/f1/25480ee106989ec4d86554c0d5a1487ad4336a @@ -0,0 +1 @@ +xAn! E\p@H=1 H=~Pox?tX.!ޥ\kŐsׂj\y̓j]1}eC[B] 1=y8qjc˩ L!ֹYKL`(e̢\?flydX \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/f1/410f8735f6f73d3599eb9b5cdd2fb70373335c b/tests/files/submodule/dot_git/objects/f1/410f8735f6f73d3599eb9b5cdd2fb70373335c new file mode 100644 index 000000000..77eaa05f6 --- /dev/null +++ b/tests/files/submodule/dot_git/objects/f1/410f8735f6f73d3599eb9b5cdd2fb70373335c @@ -0,0 +1,3 @@ +x[ +0E*䝂JTѦ$Sp}=\۶_I` "R@thUqyGj̔5h! +L }S N~&;Vf|'uGzR[L^vLr[?#mwly F;3)Ƒu_9X \ No newline at end of file diff --git a/tests/files/submodule/dot_git/objects/f2/02cb755135d4263589602783b04fb32a079d88 b/tests/files/submodule/dot_git/objects/f2/02cb755135d4263589602783b04fb32a079d88 new file mode 100644 index 0000000000000000000000000000000000000000..637344319b406f474d1c67ffac5061d0d7edf8ac GIT binary patch literal 20 ccmbi_@% literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/f2/ff401fb3fc81f8abb3ca15247aadc1e22b6288 b/tests/files/submodule/dot_git/objects/f2/ff401fb3fc81f8abb3ca15247aadc1e22b6288 new file mode 100644 index 0000000000000000000000000000000000000000..8193a3231f1d2292859bfc9349846866d3ded047 GIT binary patch literal 169 zcmV;a09OBa0j-Wr3c@fDMqTF=xqxNT{4@a(!IMlU6YZi+NvGiP4W7Z>_rAsBQC-(X z^cccL8ndS0!^C4@B4QhpMFvEqaV}|!Fj*TBV|HrC#+zu!-Xy|ABj-%cIcvDEu|7kg zmTfR>{-;y*kY!U}B!yX9qAVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9IB4i}S8d_9&n?Ug>vJ4swkhshcoqQjNFnfmUndp- literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/f8/e9c6748331411c0d3511f90bd4e0a1a30acff0 b/tests/files/submodule/dot_git/objects/f8/e9c6748331411c0d3511f90bd4e0a1a30acff0 new file mode 100644 index 0000000000000000000000000000000000000000..f443b46dacd0a4d984aa1d0764cc4fc5d97ca675 GIT binary patch literal 119 zcmV--0Eqv10V^p=O;s>7Fkvt;00M>7iujbwB8Kcr-aB!t4LWE6moC3G zG%zqTF#)Pb%q_@C)hnqeVUXwi^mgZgo9eNm)7T3)C!fl6`284SPH}R6NeRPTt4kl| ZY+rcg%Spkellj_D&3_;H4*(AVlXiP0)^Cy_>{~dhU`k-J8`QGKK87>%PRch$E^dGF26N2 uFfcPQ0jfyMEyzjLE2$`9c>MZ(Sy24TXD{v)&oo)kDs=yQ`2heIFeJQ|8z*4^ literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/objects/fb/8e78840d79085abf50edebf5b9d6b73ee0fb4c b/tests/files/submodule/dot_git/objects/fb/8e78840d79085abf50edebf5b9d6b73ee0fb4c new file mode 100644 index 0000000000000000000000000000000000000000..9334bb8b0d5243fb62d4d2e9fa44a9a7861c7e29 GIT binary patch literal 20 bcmbshrX~jL>IFeollIIv-O4o zrYX9FBSnQTnQPMrRT2G|k?N+e2mQ<)pIB-;I#U*U9T%!?zcfaYw!C{{fb#Yg96w*ss literal 0 HcmV?d00001 diff --git a/tests/files/submodule/dot_git/refs/heads/diff_over_patches b/tests/files/submodule/dot_git/refs/heads/diff_over_patches new file mode 100644 index 000000000..04bdcb97e --- /dev/null +++ b/tests/files/submodule/dot_git/refs/heads/diff_over_patches @@ -0,0 +1 @@ +1c04149973fb98fe8437fde044eb44cf5eb6ddda diff --git a/tests/files/submodule/dot_git/refs/heads/git_grep b/tests/files/submodule/dot_git/refs/heads/git_grep new file mode 100644 index 000000000..ed56f97d4 --- /dev/null +++ b/tests/files/submodule/dot_git/refs/heads/git_grep @@ -0,0 +1 @@ +6a44b59f6c1e5e51651cd6b642657b89a087950f diff --git a/tests/files/submodule/dot_git/refs/heads/master b/tests/files/submodule/dot_git/refs/heads/master new file mode 100644 index 000000000..6f2e7bdbe --- /dev/null +++ b/tests/files/submodule/dot_git/refs/heads/master @@ -0,0 +1 @@ +5e392652a881999392c2757cf9b783c5d47b67f7 diff --git a/tests/files/submodule/dot_git/refs/heads/test b/tests/files/submodule/dot_git/refs/heads/test new file mode 100644 index 000000000..32881bea6 --- /dev/null +++ b/tests/files/submodule/dot_git/refs/heads/test @@ -0,0 +1 @@ +1cc8667014381e2788a94777532a788307f38d26 diff --git a/tests/files/submodule/dot_git/refs/heads/test_branches b/tests/files/submodule/dot_git/refs/heads/test_branches new file mode 100644 index 000000000..34645d122 --- /dev/null +++ b/tests/files/submodule/dot_git/refs/heads/test_branches @@ -0,0 +1 @@ +3a9f195756f5bd26b67c5e1fffd92d68d61be14e diff --git a/tests/files/submodule/dot_git/refs/heads/test_object b/tests/files/submodule/dot_git/refs/heads/test_object new file mode 100644 index 000000000..34645d122 --- /dev/null +++ b/tests/files/submodule/dot_git/refs/heads/test_object @@ -0,0 +1 @@ +3a9f195756f5bd26b67c5e1fffd92d68d61be14e diff --git a/tests/files/submodule/dot_git/refs/remotes/working/master b/tests/files/submodule/dot_git/refs/remotes/working/master new file mode 100644 index 000000000..4b03b1917 --- /dev/null +++ b/tests/files/submodule/dot_git/refs/remotes/working/master @@ -0,0 +1 @@ +545ffc79786f268524c35e1e05b1770c7c74faf1 diff --git a/tests/files/submodule/dot_git/refs/tags/gitsearch1 b/tests/files/submodule/dot_git/refs/tags/gitsearch1 new file mode 100644 index 000000000..9f85796ea --- /dev/null +++ b/tests/files/submodule/dot_git/refs/tags/gitsearch1 @@ -0,0 +1 @@ +935badc874edd62a8629aaf103418092c73f0a56 diff --git a/tests/files/submodule/dot_git/refs/tags/v2.5 b/tests/files/submodule/dot_git/refs/tags/v2.5 new file mode 100644 index 000000000..1c3d11e25 --- /dev/null +++ b/tests/files/submodule/dot_git/refs/tags/v2.5 @@ -0,0 +1 @@ +546bec6f8872efa41d5d97a369f669165ecda0de diff --git a/tests/files/submodule/dot_git/refs/tags/v2.6 b/tests/files/submodule/dot_git/refs/tags/v2.6 new file mode 100644 index 000000000..34645d122 --- /dev/null +++ b/tests/files/submodule/dot_git/refs/tags/v2.6 @@ -0,0 +1 @@ +3a9f195756f5bd26b67c5e1fffd92d68d61be14e diff --git a/tests/files/submodule/dot_git/refs/tags/v2.7 b/tests/files/submodule/dot_git/refs/tags/v2.7 new file mode 100644 index 000000000..34645d122 --- /dev/null +++ b/tests/files/submodule/dot_git/refs/tags/v2.7 @@ -0,0 +1 @@ +3a9f195756f5bd26b67c5e1fffd92d68d61be14e diff --git a/tests/files/submodule/dot_git/refs/tags/v2.8 b/tests/files/submodule/dot_git/refs/tags/v2.8 new file mode 100644 index 000000000..475c85900 --- /dev/null +++ b/tests/files/submodule/dot_git/refs/tags/v2.8 @@ -0,0 +1 @@ +5e53019b3238362144c2766f02a2c00d91fcc023 diff --git a/tests/files/submodule/ex_dir/ex.txt b/tests/files/submodule/ex_dir/ex.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/files/submodule/example.txt b/tests/files/submodule/example.txt new file mode 100644 index 000000000..8dc79ae76 --- /dev/null +++ b/tests/files/submodule/example.txt @@ -0,0 +1 @@ +replace with new text - diff test diff --git a/tests/files/submodule/scott/newfile b/tests/files/submodule/scott/newfile new file mode 100644 index 000000000..5d4606820 --- /dev/null +++ b/tests/files/submodule/scott/newfile @@ -0,0 +1 @@ +you can't search me! diff --git a/tests/files/submodule/scott/text.txt b/tests/files/submodule/scott/text.txt new file mode 100644 index 000000000..3cc71b13d --- /dev/null +++ b/tests/files/submodule/scott/text.txt @@ -0,0 +1,8 @@ +hello +this is +a file +that is +put here +to search one +to search two +nothing! diff --git a/tests/files/submodule/unlicense_only/LICENSE b/tests/files/submodule/unlicense_only/LICENSE new file mode 100644 index 000000000..fdddb29aa --- /dev/null +++ b/tests/files/submodule/unlicense_only/LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/tests/files/submodule/unlicense_only/dot_git b/tests/files/submodule/unlicense_only/dot_git new file mode 100644 index 000000000..5ddebc5b4 --- /dev/null +++ b/tests/files/submodule/unlicense_only/dot_git @@ -0,0 +1 @@ +gitdir: ../.git/modules/unlicense_only diff --git a/tests/units/test_submodule.rb b/tests/units/test_submodule.rb new file mode 100644 index 000000000..df7ee4631 --- /dev/null +++ b/tests/units/test_submodule.rb @@ -0,0 +1,48 @@ +#!/usr/bin/env ruby +require 'fileutils' +require File.dirname(__FILE__) + '/../test_helper' + +class TestSubmodule < Test::Unit::TestCase + def git_working_dir + cwd = `pwd`.chomp + if File.directory?(File.join(cwd, 'files')) + test_dir = File.join(cwd, 'files') + elsif File.directory?(File.join(cwd, '..', 'files')) + test_dir = File.join(cwd, '..', 'files') + elsif File.directory?(File.join(cwd, 'tests', 'files')) + test_dir = File.join(cwd, 'tests', 'files') + end + + create_temp_repo(File.expand_path(File.join(test_dir, 'submodule'))) + end + + def create_temp_repo(clone_path) + filename = 'git_test' + Time.now.to_i.to_s + rand(300).to_s.rjust(3, '0') + @tmp_path = File.join("/tmp/", filename) + FileUtils.mkdir_p(@tmp_path) + FileUtils.cp_r(clone_path, @tmp_path) + tmp_path = File.join(@tmp_path, File.basename(clone_path)) + Dir.chdir(tmp_path) do + FileUtils.mv('dot_git', '.git') + end + tmp_path_submodule = File.join(tmp_path, 'unlicense_only') + Dir.chdir(tmp_path_submodule) do + FileUtils.mv('dot_git', '.git') + end + @tmp_path = tmp_path + end + + def setup + @git = Git.open(git_working_dir) + + @commit = @git.object('1cc8667014381') + @tree = @git.object('1cc8667014381^{tree}') + @blob = @git.object('v2.5:example.txt') + end + + def test_submodule_open + submodule_path = File.join(@tmp_path, 'unlicense_only') + g = Git.open(submodule_path) + g.branch('new_branch').checkout + end +end