git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v3 07/22] t1413: use tar to save and restore entire .git directory

From
Han-Wen Nienhuys <hanwen@google.com>
Date
Jun 1, 2021, 09:23 UTC
Message-ID
<CAFQ2z_O2t2cDvTs0aNqB+9FVSy51CKrJxxdvu9WGg1s6gZziHw@mail.gmail.com>
In-Reply-To
<51a802ff-0789-4051-6d45-5b9c6e55ba8a@gmail.com>
On Tue, Jun 1, 2021 at 6:55 AM Bagas Sanjaya <bagasdotme@gmail.com> wrote:
Show 17 quoted lines
>
> On 31/05/21 23.56, Han-Wen Nienhuys via GitGitGadget wrote:
> > diff --git a/t/t1413-reflog-detach.sh b/t/t1413-reflog-detach.sh
> > index bde05208ae6a..934688a1ee82 100755
> > --- a/t/t1413-reflog-detach.sh
> > +++ b/t/t1413-reflog-detach.sh
> > @@ -7,8 +7,7 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
> >   . ./test-lib.sh
> >
> >   reset_state () {
> > -     git checkout main &&
> > -     cp saved_reflog .git/logs/HEAD
> > +     rm -rf .git && "$TAR" xf .git-saved.tar
> >   }
> >
>
> Why do you do rm -rf git directory then extract tar archive to reset?

I'm not sure I understand your question. Are you asking why we have to do a reset, or why we'd use rm + tar? The rm + tar restores the former state reliably, so we can be sure it is correct. It's also independent of the storage format details.

-- 
Han-Wen Nienhuys - Google Munich
I work 80%. Don't expect answers from me on Fridays.
--
Google Germany GmbH, Erika-Mann-Strasse 33, 80636 Munich
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
Previous: Bagas SanjayaNext: Junio C Hamano
Message 119 of 138 in “Prepare tests for reftable backend”
  1. 00/18 Prepare tests for reftable backendHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  2. 01/18 t4202: split testcase for invalid HEAD symref and HEAD hashHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  3. SZEDER GáborApr 19, 2021
  4. Han-Wen NienhuysApr 27, 2021
  5. 05/18 t1413: use tar to save and restore entire .git directoryHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  6. Junio C HamanoApr 20, 2021
  7. Han-Wen NienhuysApr 27, 2021
  8. 04/18 t1401-symbolic-ref: avoid direct filesystem accessHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  9. SZEDER GáborApr 19, 2021
  10. Han-Wen NienhuysApr 27, 2021
  11. Ævar Arnfjörð BjarmasonApr 21, 2021
  12. Han-Wen NienhuysApr 21, 2021
  13. SZEDER GáborApr 22, 2021
  14. Han-Wen NienhuysApr 22, 2021
  15. SZEDER GáborApr 23, 2021
  16. Han-Wen NienhuysApr 23, 2021
  17. Han-Wen NienhuysApr 23, 2021
  18. Ævar Arnfjörð BjarmasonApr 23, 2021
  19. Han-Wen NienhuysApr 26, 2021
  20. 03/18 t5601: read HEAD using rev-parseHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  21. 06/18 t1301: fix typo in error messageHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  22. 02/18 t9300: check ref existence using git-rev-parse rather than FS checkHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  23. Ævar Arnfjörð BjarmasonApr 21, 2021
  24. Han-Wen NienhuysApr 27, 2021
  25. 07/18 t5000: inspect HEAD using git-rev-parseHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  26. Ævar Arnfjörð BjarmasonApr 21, 2021
  27. Han-Wen NienhuysApr 27, 2021
  28. 09/18 t5304: use "reflog expire --all" to clear the reflogHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  29. Ævar Arnfjörð BjarmasonApr 21, 2021
  30. Han-Wen NienhuysApr 27, 2021
  31. 08/18 t7003: use rev-parse rather than FS inspectionHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  32. 10/18 test-lib: provide test prereq REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  33. Junio C HamanoApr 20, 2021
  34. Junio C HamanoApr 20, 2021
  35. Han-Wen NienhuysApr 26, 2021
  36. Han-Wen NienhuysApr 27, 2021
  37. 12/18 t1414: mark corruption test with REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  38. 11/18 t1407: require REFFILES for for_each_reflog testHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  39. Ævar Arnfjörð BjarmasonApr 21, 2021
  40. Han-Wen NienhuysApr 27, 2021
  41. 13/18 t2017: mark --orphan/logAllRefUpdates=false test as REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  42. Ævar Arnfjörð BjarmasonApr 21, 2021
  43. Han-Wen NienhuysApr 29, 2021
  44. 15/18 t7900: mark pack-refs tests as REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  45. Ævar Arnfjörð BjarmasonApr 21, 2021
  46. Han-Wen NienhuysApr 27, 2021
  47. 16/18 t7003: check reflog existence only for REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  48. Junio C HamanoApr 20, 2021
  49. Han-Wen NienhuysApr 26, 2021
  50. Han-Wen NienhuysApr 27, 2021
  51. Ævar Arnfjörð BjarmasonApr 21, 2021
  52. 14/18 t1404: mark tests that muck with .git directly as REFFILES.Han-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  53. Ævar Arnfjörð BjarmasonApr 21, 2021
  54. Han-Wen NienhuysApr 26, 2021
  55. 17/18 t4202: mark bogus head hash test with REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  56. Ævar Arnfjörð BjarmasonApr 21, 2021
  57. Han-Wen NienhuysApr 26, 2021
  58. 18/18 t1415: set REFFILES for test specific to storage formatHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  59. Ævar Arnfjörð BjarmasonApr 21, 2021
  60. Han-Wen NienhuysApr 26, 2021
  61. 00/21 Prepare tests for reftable backendHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  62. 04/21 t5601: read HEAD using rev-parseHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  63. 01/21 t4202: split testcase for invalid HEAD symref and HEAD hashHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  64. Ævar Arnfjörð BjarmasonMay 20, 2021
  65. Han-Wen NienhuysMay 31, 2021
  66. 06/21 t1413: use tar to save and restore entire .git directoryHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  67. Ævar Arnfjörð BjarmasonMay 20, 2021
  68. Han-Wen NienhuysMay 31, 2021
  69. 05/21 t1401-symbolic-ref: avoid direct filesystem accessHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  70. Ævar Arnfjörð BjarmasonMay 20, 2021
  71. Han-Wen NienhuysMay 31, 2021
  72. 02/21 t/helper/ref-store: initialize oid in resolve-refHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  73. Ævar Arnfjörð BjarmasonMay 20, 2021
  74. Han-Wen NienhuysMay 31, 2021
  75. 03/21 t9300: check ref existence using test-helper rather than a file system checkHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  76. Ævar Arnfjörð BjarmasonMay 20, 2021
  77. 08/21 t5000: reformat indentation to the latest fashionHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  78. Ævar Arnfjörð BjarmasonMay 20, 2021
  79. Han-Wen NienhuysMay 31, 2021
  80. 09/21 t5000: inspect HEAD using git-rev-parseHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  81. 07/21 t1301: fix typo in error messageHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  82. 11/21 t5304: restyle: trim empty lines, drop ':' before >Han-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  83. 10/21 t7003: use rev-parse rather than FS inspectionHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  84. 12/21 t5304: use "reflog expire --all" to clear the reflogHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  85. Ævar Arnfjörð BjarmasonMay 20, 2021
  86. Han-Wen NienhuysMay 31, 2021
  87. 18/21 t7900: mark pack-refs tests as REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  88. Ævar Arnfjörð BjarmasonMay 20, 2021
  89. Han-Wen NienhuysMay 31, 2021
  90. 14/21 t1407: require REFFILES for for_each_reflog testHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  91. 13/21 test-lib: provide test prereq REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  92. 15/21 t1414: mark corruption test with REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  93. Ævar Arnfjörð BjarmasonMay 20, 2021
  94. 19/21 t7003: check reflog existence only for REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  95. Ævar Arnfjörð BjarmasonMay 20, 2021
  96. Han-Wen NienhuysMay 31, 2021
  97. 16/21 t2017: mark --orphan/logAllRefUpdates=false test as REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  98. Ævar Arnfjörð BjarmasonMay 20, 2021
  99. 17/21 t1404: mark tests that muck with .git directly as REFFILES.Han-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  100. 21/21 t1415: set REFFILES for test specific to storage formatHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  101. Ævar Arnfjörð BjarmasonMay 20, 2021
  102. Han-Wen NienhuysMay 31, 2021
  103. Ævar Arnfjörð BjarmasonMay 31, 2021
  104. 20/21 t4202: mark bogus head hash test with REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  105. Ævar Arnfjörð BjarmasonMay 20, 2021
  106. Han-Wen NienhuysMay 31, 2021
  107. Ævar Arnfjörð BjarmasonMay 20, 2021
  108. Han-Wen NienhuysMay 26, 2021
  109. Ævar Arnfjörð BjarmasonMay 26, 2021
  110. Han-Wen NienhuysMay 31, 2021
  111. 00/22 Prepare tests for reftable backendHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  112. 02/22 t/helper/ref-store: initialize oid in resolve-refHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  113. 01/22 t4202: split testcase for invalid HEAD symref and HEAD hashHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  114. 04/22 t5601: read HEAD using rev-parseHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  115. 03/22 t9300: check ref existence using test-helper rather than a file system checkHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  116. 05/22 t1401: use tar to snapshot and restore repo stateHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  117. 07/22 t1413: use tar to save and restore entire .git directoryHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  118. Bagas SanjayaJun 1, 2021
  119. Han-Wen NienhuysJun 1, 2021
  120. Junio C HamanoJun 1, 2021
  121. Han-Wen NienhuysJun 2, 2021
  122. 06/22 t1401-symbolic-ref: avoid direct filesystem accessHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  123. 08/22 t1301: fix typo in error messageHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  124. 09/22 t5000: reformat indentation to the latest fashionHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  125. 10/22 t5000: inspect HEAD using git-rev-parseHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  126. 11/22 t7003: use rev-parse rather than FS inspectionHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  127. 12/22 t5304: restyle: trim empty lines, drop ':' before >Han-Wen Nienhuys via GitGitGadget, May 31, 2021
  128. 15/22 t1407: require REFFILES for for_each_reflog testHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  129. 17/22 t2017: mark --orphan/logAllRefUpdates=false test as REFFILESHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  130. 14/22 test-lib: provide test prereq REFFILESHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  131. 18/22 t1404: mark tests that muck with .git directly as REFFILES.Han-Wen Nienhuys via GitGitGadget, May 31, 2021
  132. 16/22 t1414: mark corruption test with REFFILESHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  133. 21/22 t4202: mark bogus head hash test with REFFILESHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  134. 13/22 t5304: use "reflog expire --all" to clear the reflogHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  135. 19/22 t7900: stop checking for loose refsHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  136. 20/22 t7003: check reflog existence only for REFFILESHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  137. 22/22 t1415: set REFFILES for test specific to storage formatHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  138. Ævar Arnfjörð BjarmasonMay 31, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.