lib/learn_open/opener.rb in learn-open-1.1.55 vs lib/learn_open/opener.rb in learn-open-1.1.56

- old
+ new

@@ -189,10 +189,20 @@ puts "Cloning lesson..." begin Timeout::timeout(15) do Git.clone("git@github.com:#{lesson}.git", repo_dir, path: lessons_dir) end - rescue Timeout::Error, Git::GitExecuteError + rescue Git::GitExecuteError + if retries > 0 + puts "There was a problem cloning this lesson. Retrying..." if retries > 1 + sleep(1) + clone_repo(retries-1) + else + puts "Cannot clone this lesson right now. Please try again." + File.write(file_path, 'ERROR: Error cloning. Try again.') + exit + end + rescue Timeout::Error if retries > 0 puts "There was a problem cloning this lesson. Retrying..." clone_repo(retries-1) else puts "Cannot clone this lesson right now. Please try again."