How to check a Mercurial repository for consistency (checksums)?












2















Assume I recover a Mercurial repository from a broken file system (e.g. bad hard drive), and I want to be sure that this one was not affected.



How can I force a self-check in Mercurial? That is, Mercurial walks through the whole history and checks that all checksums fit their respective dataset, and that the repository as a whole is consistent.



Is it sufficient to perform a local "hg clone" to enforce that check?



It there something like "git fsck" for Mecurial?










share|improve this question



























    2















    Assume I recover a Mercurial repository from a broken file system (e.g. bad hard drive), and I want to be sure that this one was not affected.



    How can I force a self-check in Mercurial? That is, Mercurial walks through the whole history and checks that all checksums fit their respective dataset, and that the repository as a whole is consistent.



    Is it sufficient to perform a local "hg clone" to enforce that check?



    It there something like "git fsck" for Mecurial?










    share|improve this question

























      2












      2








      2








      Assume I recover a Mercurial repository from a broken file system (e.g. bad hard drive), and I want to be sure that this one was not affected.



      How can I force a self-check in Mercurial? That is, Mercurial walks through the whole history and checks that all checksums fit their respective dataset, and that the repository as a whole is consistent.



      Is it sufficient to perform a local "hg clone" to enforce that check?



      It there something like "git fsck" for Mecurial?










      share|improve this question














      Assume I recover a Mercurial repository from a broken file system (e.g. bad hard drive), and I want to be sure that this one was not affected.



      How can I force a self-check in Mercurial? That is, Mercurial walks through the whole history and checks that all checksums fit their respective dataset, and that the repository as a whole is consistent.



      Is it sufficient to perform a local "hg clone" to enforce that check?



      It there something like "git fsck" for Mecurial?







      mercurial backup checksum consistency git-fsck






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 21 '18 at 11:57









      vogvog

      10.7k63958




      10.7k63958
























          1 Answer
          1






          active

          oldest

          votes


















          3














          The command for a pure check is:



          hg verify


          In case the repository is corrupt, the Mercural wiki provides recovery instructions:




          • https://www.mercurial-scm.org/wiki/RepositoryCorruption


          Of course, this only checks the commits, not the working directory. That it, it neither checks local changes that were not yet committed, nor ignored files such as build results. All those can't be verified by Mercurial, of course. Those would either have to be verified by different means, or simply be reset using a fresh Mercurial checkout and a fresh build.






          share|improve this answer


























          • This would verify the contents of hg history but not the contents of the working folder (anything not yet committed).

            – DaveInCaz
            Nov 26 '18 at 12:45






          • 1





            @DaveInCaz Thanks, I improved my answer accordingly.

            – vog
            Nov 30 '18 at 11:20











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53411556%2fhow-to-check-a-mercurial-repository-for-consistency-checksums%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          3














          The command for a pure check is:



          hg verify


          In case the repository is corrupt, the Mercural wiki provides recovery instructions:




          • https://www.mercurial-scm.org/wiki/RepositoryCorruption


          Of course, this only checks the commits, not the working directory. That it, it neither checks local changes that were not yet committed, nor ignored files such as build results. All those can't be verified by Mercurial, of course. Those would either have to be verified by different means, or simply be reset using a fresh Mercurial checkout and a fresh build.






          share|improve this answer


























          • This would verify the contents of hg history but not the contents of the working folder (anything not yet committed).

            – DaveInCaz
            Nov 26 '18 at 12:45






          • 1





            @DaveInCaz Thanks, I improved my answer accordingly.

            – vog
            Nov 30 '18 at 11:20
















          3














          The command for a pure check is:



          hg verify


          In case the repository is corrupt, the Mercural wiki provides recovery instructions:




          • https://www.mercurial-scm.org/wiki/RepositoryCorruption


          Of course, this only checks the commits, not the working directory. That it, it neither checks local changes that were not yet committed, nor ignored files such as build results. All those can't be verified by Mercurial, of course. Those would either have to be verified by different means, or simply be reset using a fresh Mercurial checkout and a fresh build.






          share|improve this answer


























          • This would verify the contents of hg history but not the contents of the working folder (anything not yet committed).

            – DaveInCaz
            Nov 26 '18 at 12:45






          • 1





            @DaveInCaz Thanks, I improved my answer accordingly.

            – vog
            Nov 30 '18 at 11:20














          3












          3








          3







          The command for a pure check is:



          hg verify


          In case the repository is corrupt, the Mercural wiki provides recovery instructions:




          • https://www.mercurial-scm.org/wiki/RepositoryCorruption


          Of course, this only checks the commits, not the working directory. That it, it neither checks local changes that were not yet committed, nor ignored files such as build results. All those can't be verified by Mercurial, of course. Those would either have to be verified by different means, or simply be reset using a fresh Mercurial checkout and a fresh build.






          share|improve this answer















          The command for a pure check is:



          hg verify


          In case the repository is corrupt, the Mercural wiki provides recovery instructions:




          • https://www.mercurial-scm.org/wiki/RepositoryCorruption


          Of course, this only checks the commits, not the working directory. That it, it neither checks local changes that were not yet committed, nor ignored files such as build results. All those can't be verified by Mercurial, of course. Those would either have to be verified by different means, or simply be reset using a fresh Mercurial checkout and a fresh build.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 30 '18 at 11:23

























          answered Nov 21 '18 at 12:20









          vogvog

          10.7k63958




          10.7k63958













          • This would verify the contents of hg history but not the contents of the working folder (anything not yet committed).

            – DaveInCaz
            Nov 26 '18 at 12:45






          • 1





            @DaveInCaz Thanks, I improved my answer accordingly.

            – vog
            Nov 30 '18 at 11:20



















          • This would verify the contents of hg history but not the contents of the working folder (anything not yet committed).

            – DaveInCaz
            Nov 26 '18 at 12:45






          • 1





            @DaveInCaz Thanks, I improved my answer accordingly.

            – vog
            Nov 30 '18 at 11:20

















          This would verify the contents of hg history but not the contents of the working folder (anything not yet committed).

          – DaveInCaz
          Nov 26 '18 at 12:45





          This would verify the contents of hg history but not the contents of the working folder (anything not yet committed).

          – DaveInCaz
          Nov 26 '18 at 12:45




          1




          1





          @DaveInCaz Thanks, I improved my answer accordingly.

          – vog
          Nov 30 '18 at 11:20





          @DaveInCaz Thanks, I improved my answer accordingly.

          – vog
          Nov 30 '18 at 11:20




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53411556%2fhow-to-check-a-mercurial-repository-for-consistency-checksums%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          這個網誌中的熱門文章

          Xamarin.form Move up view when keyboard appear

          Post-Redirect-Get with Spring WebFlux and Thymeleaf

          Anylogic : not able to use stopDelay()