Skip to content
Permalink
Browse files

Issue-1471 Add worktree support, based on the current level of suppor…

…t in libgit2
  • Loading branch information
mminns committed Oct 23, 2018
1 parent 0a9c84d commit c4c15a5e3f61e1bb3f1ee76d1e82e9305a0237c0
Showing with 689 additions and 3 deletions.
  1. +2 −0 .gitignore
  2. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/1.txt
  3. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/1/branch_file.txt
  4. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/README
  5. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/branch_file.txt
  6. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/COMMIT_EDITMSG
  7. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/HEAD
  8. +23 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/config
  9. BIN LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/index
  10. +6 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/info/exclude
  11. +3 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/logs/HEAD
  12. +2 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/logs/refs/heads/logo
  13. +3 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/logs/refs/heads/master
  14. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/04/c9b35f51fbff2338d5cdc959b23a93a14c5063
  15. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/0a/99448e920a3615f33273047412949d09015ff8
  16. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/13/85f264afb75a56a5bec74243be9b367ba4ca08
  17. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/15/d2ecc60893449f4fe4593dd51a4706dec212f5
  18. +2 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/16/bdf1dece5c56c92a9187550fafe0270a03a93a
  19. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/18/1037049a54a1eb5fab404658a3a250b44335d7
  20. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/18/10dff58d8a660512d4832e740f692884338ccd
  21. +1 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/32/eab9cb1f450b5fe7ab663462b77d7f4b703344
  22. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/33/a9574ff4dca3fbf68c6785859b80895c6b77b1
  23. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/37/d22f870ffe688c0d1220fbbf1f06629c64142c
  24. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/45/b983be36b73c0788dc9cbcb76cbb80fc7bb057
  25. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/46/25a3628cb78970c57e23a2fe2574514ba403c7
  26. +2 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/4a/202b346bb0fb0db7eff3cffeb3c70babbd2045
  27. +2 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/4b/e51d6fc0943aa42b635c762145ca209cf39771
  28. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/4c/062a6361ae6959e06292c1fa5e2822d9c96345
  29. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/4e/935b73cf0fe06c513267d517fc2e65fc0d100e
  30. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/50/9d02afef0632c7f733ddcd62500b0538d9157f
  31. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/56/05472eb48cb4e60b5aa8810cc5ec8138026fad
  32. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/56/26abf0f72e58d7a153368ba57db4c673c0e171
  33. +2 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/58/0c2111be43802dab11328176d94c391f1deae9
  34. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/58/1f9824ecaf824221bd36edf5430f2739a7c4f5
  35. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/59/2d3c869dbc4127fc57c189cb94f2794fa84e7e
  36. +2 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/5b/5b025afb0b4c913b4c338a42934a3863bf3644
  37. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/67/b8324ec2fefc01fd9d31d328116df0474e7acd
  38. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/6b/53f5d357f29607605ce2e612d2fda6693ff8d7
  39. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/72/52fe2da2c4dd6d85231a150d0485ec46abaa7a
  40. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/74/9a42f6ef33405e5ac16687963aebab8b78abd1
  41. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/75/057dd4114e74cca1d750d0aee1647c903cb60a
  42. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/79/09961ae96accd75b6813d32e0fc1d6d52ec941
  43. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/7b/4384978d2493e851f9cca7858815fac9b10980
  44. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/7f/76480d939dc401415927ea7ef25c676b8ddb8f
  45. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/81/4889a078c031f61ed08ab5fa863aea9314344d
  46. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/84/96071c1b46c854b31185ea97743be6a8774479
  47. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/84/9f67c87f926a81af895fc037c04ad85549d73f
  48. +2 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/89/657cd6da3ada7bfef880e6dfdb9732f28c272b
  49. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/92/17230e462ada4319e332e2a4b2d325c2d60550
  50. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/93/5a81d39fd68adb3b7ba3fc60c9663f326435e3
  51. +3 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/9f/d738e8f7967c078dceed8190330fc8648ee56a
  52. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/a1/7e31b5f9b445610fe3bd9a08f04eee314b5595
  53. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/a4/47ba2ca8fffd46dece72f7db6faf324afb8fcd
  54. +2 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/a4/a7dce85cf63874e984719f4fdd239f5145052f
  55. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/a7/1586c1dfe8a71c6cbf6c129f404c5642ff31bd
  56. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/a8/233120f6ad708f843d861ce2b7228ec4e3dec6
  57. +2 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/ab/38987d12dc243c103a432608648c78fc6651a1
  58. +2 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/b2/5fa35b38051e4ae45d4222e795f9df2e43f1d1
  59. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/b3/e375c923d50c589b11b6da4a769bdd7f6502e3
  60. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/b5/9b86c5f4874aea5255bf14d67a5ce13c80265f
  61. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/b7/58c5bc1c8117c2a4c545dae2903e36360501c5
  62. +3 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/be/3563ae3f795b2b4353bcce3a527ad0a4f7f644
  63. +3 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/c4/7800c7266a2be04c571c04d5a6614691ea99bd
  64. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/c7/69ecde1af25ba729b92be431570f32418c3ccd
  65. +2 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/ce/40c7a2a2a2d35827ff4de3feb284894ff6e29f
  66. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/d0/0491fd7e5bb6fa28c517a0bb32b8b506539d4d
  67. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/da/6413144c9053a78c3406f440cdc9fcb037fcf9
  68. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/db/9c482bd00c69d8a2d12242cee5f981ea040140
  69. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/e5/d221fc5da11a3169bf503d76497c81be3207b6
  70. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/e6/8bcc7b5d6370fac1ea9929f4b6982a4ebb99a2
  71. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391
  72. +1 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/e7/039e6d0e7dd4d4c1e2e8e5aa5306b2776436ca
  73. +1 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/e8/953ab38d30b11c45b5ac7229fcef0ab4d603c6
  74. +4 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/ec/9e401198937e33a8617be9f235a449728d9f6d
  75. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/f2/e41136eac73c39554dede1fd7e67b12502d577
  76. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/f6/0079018b664e4e79329a7ef9559c8d9e0378d1
  77. +1 −0 ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/f7/05abffe7015f2beacf2abe7a36583ebee3487e
  78. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/f8/d44d712e0680d942a4015058dd84e382879fe2
  79. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/fa/49b077972391ad58037050f2a75f74e3671e92
  80. BIN ...rp.Tests/Resources/worktree/testrepo_wd/dot_git/objects/fd/093bff70906175335656e6ce6ae05783708765
  81. BIN ...urces/worktree/testrepo_wd/dot_git/objects/pack/pack-a81e489679b7d3418f9ab594bda8ceb37dd4c695.idx
  82. BIN ...rces/worktree/testrepo_wd/dot_git/objects/pack/pack-a81e489679b7d3418f9ab594bda8ceb37dd4c695.pack
  83. BIN ...urces/worktree/testrepo_wd/dot_git/objects/pack/pack-d7c6adf9f61318f041845b01440d09aa7a91e1b5.idx
  84. BIN ...rces/worktree/testrepo_wd/dot_git/objects/pack/pack-d7c6adf9f61318f041845b01440d09aa7a91e1b5.pack
  85. BIN ...urces/worktree/testrepo_wd/dot_git/objects/pack/pack-d85f5d483273108c9d8dd0e4728ccf0b2982423a.idx
  86. BIN ...rces/worktree/testrepo_wd/dot_git/objects/pack/pack-d85f5d483273108c9d8dd0e4728ccf0b2982423a.pack
  87. +10 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/packed-refs
  88. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/refs/heads/diff-test-cases
  89. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/refs/heads/i-do-numbers
  90. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/refs/heads/logo
  91. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/refs/heads/master
  92. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/refs/heads/track-local
  93. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/refs/heads/treesame_as_32eab
  94. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/refs/remotes/origin/HEAD
  95. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/worktrees/i-do-numbers/HEAD
  96. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/worktrees/i-do-numbers/ORIG_HEAD
  97. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/worktrees/i-do-numbers/commondir
  98. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/worktrees/i-do-numbers/gitdir
  99. BIN LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/worktrees/i-do-numbers/index
  100. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/worktrees/i-do-numbers/logs/HEAD
  101. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/worktrees/logo/HEAD
  102. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/worktrees/logo/ORIG_HEAD
  103. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/worktrees/logo/commondir
  104. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/worktrees/logo/gitdir
  105. BIN LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/worktrees/logo/index
  106. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/worktrees/logo/locked
  107. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/dot_git/worktrees/logo/logs/HEAD
  108. +2 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/modified_staged_file.txt
  109. +2 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/modified_unstaged_file.txt
  110. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/new.txt
  111. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/new_tracked_file.txt
  112. +1 −0 LibGit2Sharp.Tests/Resources/worktree/testrepo_wd/new_untracked_file.txt
  113. +17 −0 LibGit2Sharp.Tests/Resources/worktree/worktrees/i-do-numbers/numbers.txt
  114. +5 −0 LibGit2Sharp.Tests/Resources/worktree/worktrees/i-do-numbers/super-file.txt
  115. +1 −0 LibGit2Sharp.Tests/Resources/worktree/worktrees/logo/1/branch_file.txt
  116. +1 −0 LibGit2Sharp.Tests/Resources/worktree/worktrees/logo/README
  117. +1 −0 LibGit2Sharp.Tests/Resources/worktree/worktrees/logo/branch_file.txt
  118. +1 −0 LibGit2Sharp.Tests/Resources/worktree/worktrees/logo/new.txt
  119. BIN LibGit2Sharp.Tests/Resources/worktree/worktrees/logo/square-logo.png
  120. +9 −0 LibGit2Sharp.Tests/TestHelpers/BaseFixture.cs
  121. +89 −0 LibGit2Sharp.Tests/WorktreeFixture.cs
  122. +1 −1 LibGit2Sharp.sln
  123. +23 −0 LibGit2Sharp/Core/Handles/Objects.cs
  124. +2 −0 LibGit2Sharp/Core/Handles/Objects.tt
  125. +29 −0 LibGit2Sharp/Core/NativeMethods.cs
  126. +1 −0 LibGit2Sharp/Core/Opaques.cs
  127. +86 −0 LibGit2Sharp/Core/Proxy.cs
  128. +8 −1 LibGit2Sharp/LibGit2Sharp.csproj
  129. +59 −1 LibGit2Sharp/Repository.cs
  130. +106 −0 LibGit2Sharp/Worktree.cs
  131. +100 −0 LibGit2Sharp/WorktreeCollection.cs
  132. +33 −0 LibGit2Sharp/WorktreeLock.cs
@@ -38,3 +38,5 @@ _ReSharper*/
*.DotSettings

_NCrunch_LibGit2Sharp/
packages/
worktree.playlist
@@ -0,0 +1 @@
one
@@ -0,0 +1 @@
hi
@@ -0,0 +1 @@
hey there
@@ -0,0 +1 @@
hi
@@ -0,0 +1 @@
Add "1.txt" file beside "1" folder
@@ -0,0 +1 @@
ref: refs/heads/master
@@ -0,0 +1,23 @@
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = c:/GitHub/libgit2sharp/Resources/testrepo.git
[remote "no_url"]
url =
fetch = +refs/heads/*:refs/remotes/no_url/*
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "track-local"]
remote = .
merge = refs/heads/master
[unittests]
longsetting = 15234
intsetting = 2
Binary file not shown.
@@ -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]
# *~
@@ -0,0 +1,3 @@
0000000000000000000000000000000000000000 4c062a6361ae6959e06292c1fa5e2822d9c96345 Tim Clem <timothy.clem@gmail.com> 1303768198 -0700 clone: from c:/GitHub/libgit2sharp/Resources/testrepo.git
4c062a6361ae6959e06292c1fa5e2822d9c96345 592d3c869dbc4127fc57c189cb94f2794fa84e7e Tim Clem <timothy.clem@gmail.com> 1303835722 -0700 commit: add more test files
592d3c869dbc4127fc57c189cb94f2794fa84e7e 32eab9cb1f450b5fe7ab663462b77d7f4b703344 nulltoken <emeric.fermas@gmail.com> 1320047537 +0100 commit: Add "1.txt" file beside "1" folder
@@ -0,0 +1,2 @@
0000000000000000000000000000000000000000 4c062a6361ae6959e06292c1fa5e2822d9c96345 nulltoken <emeric.fermas@gmail.com> 1359021419 +0100 branch: Created from 4c062a6361ae6959e06292c1fa5e2822d9c96345
4c062a6361ae6959e06292c1fa5e2822d9c96345 a447ba2ca8fffd46dece72f7db6faf324afb8fcd nulltoken <emeric.fermas@gmail.com> 1359021433 +0100 commit: Add logo
@@ -0,0 +1,3 @@
0000000000000000000000000000000000000000 4c062a6361ae6959e06292c1fa5e2822d9c96345 Tim Clem <timothy.clem@gmail.com> 1303768198 -0700 clone: from c:/GitHub/libgit2sharp/Resources/testrepo.git
4c062a6361ae6959e06292c1fa5e2822d9c96345 592d3c869dbc4127fc57c189cb94f2794fa84e7e Tim Clem <timothy.clem@gmail.com> 1303835722 -0700 commit: add more test files
592d3c869dbc4127fc57c189cb94f2794fa84e7e 32eab9cb1f450b5fe7ab663462b77d7f4b703344 nulltoken <emeric.fermas@gmail.com> 1320047537 +0100 commit: Add "1.txt" file beside "1" folder
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,2 @@
x̱
1EQ��jm\�,��Dl,'�Ä���:"���큛�3���^4�7�u�و� �\0yVg��(W�ϝ�XmL?�2��ʍj�K=yPK™��I� �#Y
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
x��]j!���)�} �?�!d��m�+�qq]���3䥠>��Z�������&�0�M1h�}�V��v�Y+��.a�9�z�4�O� *�LGxx��d�V�ðc^����Zg�����(�e-<n-��Qo߀kBg��O�R�E������5%��6��r� ��%�b��x�7G�P
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,2 @@
x��Q
�0D��)��6�ͦ "xO���-�Fb��Eo��0 �Ǥ�,ske�[�Pn8R,EpD?�g�}�^3� ��<��G�hYK���8ЖDA��)���;g�ݧ��j�p�4����-�����r��;�s�GA4ۺ=���(�in7�I�K�FE
@@ -0,0 +1,2 @@
x��K
1D]�� C�����tg&`&������Q��VkQ�Fg��au����xved��0Sr.�y�J��!'C^!� @�`2�,�@ ����(�{��O�i��_�eO������\�V�Ra���g�)�:��w>R-�&�B�Ey
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,2 @@
x��Aj1 E��)t�{d[6��Ev���G� �ep�}B{��><x�_zk� �0vU@������X��T"��B�dS%
�8�û�����"z4pq1&�Y�% %��~���p�u,p�e�'��߽}~7^����:��gB8�`�y��á�q͗�>�����B0��I�
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,2 @@
x��� 1E�Ni@��k2 "X�$�YW0Yc���Ås���z����MD��0��8!�����s� X��g�d�::@X0�P�w�"F/����R�Uz�m�ZZ���V}|�/�o5����I�!�1z��:v��Uim}�/�>
�F-
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,2 @@
x��A
� E���/c�J�=�8�TA#�]��M�����ϭ�<��p]�_��*�6t�<�0�l��z�8�+[�U�k����:%X�S�D�J���Y)��[����Y�4"�5j�z<��U�=�L~�6u;=
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,3 @@
x��[
�0E��*f��դ "�W0��-�F�t�݁��pS[�Y�x�^
D�b CLhut��}�8X*4Z�sY���U�A���X3�R�M��) s6輢M��រ�&Jm��;}����<��\@���ޏpĀ�v�?��jۺL��?H�
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,2 @@
x��;j1D��md���ǎ|M��3`��V{ >���Q����vL0I?�!�4�Z=�!�צ8�F���!r�sQ�y�9�]$D�&�l6A�>jFW�ҵ IKNi��Z�%�S���
�� �����U~̽��>'��� �w��[��� ���DGڡ��Q-�M�>d���O����}�\�8g_Ш�oYr
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,2 @@
x��M
�0F]�� e���D�z�q��@�@� oo� ����{��Rr��é���� �1��EȀKƀ��<�|���V�~�ƛ�|�L��|ܞ��>I-W�s��@�Ԡ��\"K�Z ���G�w��:�
@@ -0,0 +1,2 @@
码᷌䄊숰ႅ懗㧅䧒ঙ肈ᝰ⟮ꜱ跑뚑癜硻握ﷰ嚟瀆荶埻枊ʾ잎へ멛ౝ≧蘐⍻牄옍᱃潴₭丠鱕ତ귲㼹⵰⬱촂᝞꓀典꺯켹作왃곓ঌ涐❄ൻ涵囪﨨⮴注༜똬�
�0�a�9��I� ���p'�1�Ѷ�v\x{c���V�p�vW�g��ǎ0x�[ ]"g�#{rD�Cot ���N �U $��?9-p+1�^��Qx���9O\�C�� �m�'D{m�V��(+���l��,�
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,3 @@
x��Kj1D��)z�UB��-0�uV9����<#������+�W<J��&8�/s��e���ȕKJ����S
�Rv��{��Q��r��Y�QN$H\E����=6�X5���K Fr)�(�dC��Ά�����j�s�}��9�c-�w8�o�\�r��I���:
l}F�W$Ds�ǣ��ٚOW�e�]V8-Ý��"U
@@ -0,0 +1,3 @@
x��Q
�0D��)�ʦ�I<�'�lR+�Fj��Eo��0<x�h���a ��]ș��XUl�PF)�z�4y�,\r 'S��-mI4
�Xh�&��F�}n+\���Y�-p|鷜oU�z;-��a��lt{��?�I�,:�o�R��cHK
Binary file not shown.
@@ -0,0 +1,2 @@
x��A
� E���/G�!�n{�q2��F����t���{�k)�:�M��^x��L���� ����ݚ�̛�W���6��~� �Z����P��r4�-3��Qku���?�z�'��9�;I
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
x��KJ1Eg5s <*�t> ��e���^7t:�wo܂� �p��@.=�..nD�"�JH�q�D��V1�����t��U�e�ޕ�in��� afu9Fk�c��O�e�׿����*�q��k9����rL��^�"����!�a���y�%_����2f��w3�G_K�
@@ -0,0 +1 @@
x�A@0P��[�!���N�����#���ϋz�]�ld���uE/�D�nD�T$�h��Xϼ���z�p0(=��bhj73�|e�~#[�
@@ -0,0 +1,4 @@
x��A
�0E]���$�� ����f�L#1���
�>�ǃ?��Sc�U`=J�'�Dd�Q�)xF�DG��ު'W�D�¨���0x2L�-Z�#�q��b�m->��
���n�呶ے9=���+h�G7B�3jDu��a�ZuO�-�[�W�cT_�FHn
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
x���B!D=Sh؅�Bb�;�X�G��c�|�/��K�d��z-�FѲDXy) Y�1��������X4��z�.�����r�dv�4Mb�st+Ҍ�������S/�zkuk}�I�\�����q�VOl�m ��Q�ΣC��Pp���1�J�
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,10 @@
# pack-refs with: peeled
b25fa35b38051e4ae45d4222e795f9df2e43f1d1 refs/tags/test
^e90810b8df3e80c413d903f631643c716887138d
e90810b8df3e80c413d903f631643c716887138d refs/tags/lw
7b4384978d2493e851f9cca7858815fac9b10980 refs/tags/e90810b
^e90810b8df3e80c413d903f631643c716887138d
e90810b8df3e80c413d903f631643c716887138d refs/remotes/origin/test
4a202b346bb0fb0db7eff3cffeb3c70babbd2045 refs/remotes/origin/packed-test
580c2111be43802dab11328176d94c391f1deae9 refs/remotes/origin/master
a4a7dce85cf63874e984719f4fdd239f5145052f refs/remotes/origin/br2
@@ -0,0 +1 @@
e7039e6d0e7dd4d4c1e2e8e5aa5306b2776436ca
@@ -0,0 +1 @@
7252fe2da2c4dd6d85231a150d0485ec46abaa7a
@@ -0,0 +1 @@
a447ba2ca8fffd46dece72f7db6faf324afb8fcd
@@ -0,0 +1 @@
32eab9cb1f450b5fe7ab663462b77d7f4b703344
@@ -0,0 +1 @@
580c2111be43802dab11328176d94c391f1deae9
@@ -0,0 +1 @@
f705abffe7015f2beacf2abe7a36583ebee3487e
@@ -0,0 +1 @@
ref: refs/remotes/origin/master
@@ -0,0 +1 @@
ref: refs/heads/i-do-numbers
@@ -0,0 +1 @@
7252fe2da2c4dd6d85231a150d0485ec46abaa7a
@@ -0,0 +1 @@
../../../../worktrees/i-do-numbers/.git
Binary file not shown.
@@ -0,0 +1 @@
7252fe2da2c4dd6d85231a150d0485ec46abaa7a 7252fe2da2c4dd6d85231a150d0485ec46abaa7a Mike Minns <mminns@itofinity.co.uk> 1513714384 +0000 reset: moving to HEAD
@@ -0,0 +1 @@
ref: refs/heads/logo
@@ -0,0 +1 @@
a447ba2ca8fffd46dece72f7db6faf324afb8fcd
@@ -0,0 +1 @@
../../../../worktrees/logo/.git
Binary file not shown.
@@ -0,0 +1 @@
Test lock reason
@@ -0,0 +1 @@
a447ba2ca8fffd46dece72f7db6faf324afb8fcd a447ba2ca8fffd46dece72f7db6faf324afb8fcd Mike Minns <mminns@itofinity.co.uk> 1513713776 +0000 reset: moving to HEAD
@@ -0,0 +1,2 @@
a change
more files!
@@ -0,0 +1,2 @@
some more text
more files! more files!
@@ -0,0 +1 @@
my new file
@@ -0,0 +1 @@
a new file
@@ -0,0 +1 @@
content
@@ -0,0 +1,17 @@
1
2
3
4
5
6
7
7.2
8
9
10
11
12
13
14
15
16
@@ -0,0 +1,5 @@
That's a terrible name!
I don't like it.
People look down at me and laugh. :-(
Really!!!!
Yeah! Better!
@@ -0,0 +1 @@
hi
@@ -0,0 +1 @@
hey there
@@ -0,0 +1 @@
hi
@@ -0,0 +1 @@
my new file
Binary file not shown.
@@ -43,6 +43,8 @@ static BaseFixture()
private static string SubmoduleTargetTestRepoWorkingDirPath { get; set; }
private static string AssumeUnchangedRepoWorkingDirPath { get; set; }
public static string SubmoduleSmallTestRepoWorkingDirPath { get; set; }
public static string WorktreeTestRepoWorkingDirPath { get; private set; }
public static string WorktreeTestRepoWorktreesDirPath { get; private set; }
public static string PackBuilderTestRepoPath { get; private set; }

public static DirectoryInfo ResourcesDirectory { get; private set; }
@@ -85,6 +87,8 @@ private static void SetUpTestEnvironment()
AssumeUnchangedRepoWorkingDirPath = Path.Combine(ResourcesDirectory.FullName, "assume_unchanged_wd");
SubmoduleSmallTestRepoWorkingDirPath = Path.Combine(ResourcesDirectory.FullName, "submodule_small_wd");
PackBuilderTestRepoPath = Path.Combine(ResourcesDirectory.FullName, "packbuilder_testrepo_wd");
WorktreeTestRepoWorkingDirPath = Path.Combine(sourceRelativePath, "worktree", "testrepo_wd");
WorktreeTestRepoWorktreesDirPath = Path.Combine(sourceRelativePath, "worktree", "worktrees");

CleanupTestReposOlderThan(TimeSpan.FromMinutes(15));
}
@@ -220,6 +224,11 @@ public string SandboxSubmoduleSmallTestRepo()
return path;
}

public string SandboxWorktreeTestRepo()
{
return Sandbox(WorktreeTestRepoWorkingDirPath, WorktreeTestRepoWorktreesDirPath);
}

protected string SandboxPackBuilderTestRepo()
{
return Sandbox(PackBuilderTestRepoPath);