Просмотр исходного кода

ctest_update: Abort if Git FETCH_HEAD has no candidates

If .git/FETCH_HEAD provides no merge candidate do not attempt to update.
Also log FETCH_HEAD lines as we parse them since they are essentially
output from the git fetch command.
Brad King 15 лет назад
Родитель
Сommit
65cb72f758
1 измененных файлов с 6 добавлено и 0 удалено
  1. 6 0
      Source/CTest/cmCTestGIT.cxx

+ 6 - 0
Source/CTest/cmCTestGIT.cxx

@@ -126,6 +126,7 @@ bool cmCTestGIT::UpdateByFetchAndReset()
   std::string line;
   while(sha1.empty() && cmSystemTools::GetLineFromStream(fin, line))
     {
+    this->Log << "FETCH_HEAD> " << line << "\n";
     if(line.find("\tnot-for-merge\t") == line.npos)
       {
       std::string::size_type pos = line.find('\t');
@@ -135,6 +136,11 @@ bool cmCTestGIT::UpdateByFetchAndReset()
         }
       }
     }
+  if(sha1.empty())
+    {
+    this->Log << "FETCH_HEAD has no upstream branch candidate!\n";
+    return false;
+    }
   }
 
   // Reset the local branch to point at that tracked from upstream.