Przeglądaj źródła

Merge topic 'file-DOWNLOAD-existing-file-matched-message'

666b3c6f13 Help: Clarify file(DOWNLOAD) behavior for existing file with same hash
87a40b720a file(DOWNLOAD): Fix message for existing file with matching hash

Acked-by: Kitware Robot <[email protected]>
Merge-request: !7599
Craig Scott 3 lat temu
rodzic
commit
bbda95e7bd
2 zmienionych plików z 6 dodań i 3 usunięć
  1. 5 2
      Help/command/file.rst
  2. 1 1
      Source/cmFileCommand.cxx

+ 5 - 2
Help/command/file.rst

@@ -1121,8 +1121,11 @@ Additional options to ``DOWNLOAD`` are:
 
   Verify that the downloaded content hash matches the expected value, where
   ``ALGO`` is one of the algorithms supported by ``file(<HASH>)``.
-  If it does not match, the operation fails with an error. It is an error to
-  specify this if ``DOWNLOAD`` is not given a ``<file>``.
+  If the file already exists and matches the hash, the download is skipped.
+  If the file already exists and does not match the hash, the file is
+  downloaded again. If after download the file does not match the hash, the
+  operation fails with an error. It is an error to specify this option if
+  ``DOWNLOAD`` is not given a ``<file>``.
 
 ``EXPECTED_MD5 <value>``
   Historical short-hand for ``EXPECTED_HASH MD5=<value>``. It is an error to

+ 1 - 1
Source/cmFileCommand.cxx

@@ -1914,7 +1914,7 @@ bool HandleDownloadCommand(std::vector<std::string> const& args,
     std::string msg;
     std::string actualHash = hash->HashFile(file);
     if (actualHash == expectedHash) {
-      msg = cmStrCat("returning early; file already exists with expected ",
+      msg = cmStrCat("skipping download as file already exists with expected ",
                      hashMatchMSG, '"');
       if (!statusVar.empty()) {
         status.GetMakefile().AddDefinition(statusVar, cmStrCat(0, ";\"", msg));