diff --git a/README.md b/README.md
index 2482b03f..69e4e78f 100644
--- a/README.md
+++ b/README.md
@@ -95,6 +95,7 @@ Just run `topgrade`. It will run the following steps:
* `--no-system` - Skip the system upgrade phase.
* `--no-git-repos` - Don't pull custom git repositories.
* `--no-emacs` - Don't upgrade Emacs packages or configuration files.
+* `--no-retry` - Don't ask to retry failed steps.
## Customization
You can place a configuration file at `~/.config/topgrade.toml` (on macOS `~/Library/Preferences/topgrade.toml`).. Here's an example:
diff --git a/src/config.rs b/src/config.rs
index aaab2663..4f81036c 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -73,4 +73,8 @@ pub struct Opt {
/// Print what would be done
#[structopt(short = "n", long = "dry-run")]
pub dry_run: bool,
+
+ /// Do not ask to retry failed steps
+ #[structopt(long = "no-retry")]
+ pub no_retry: bool,
}
diff --git a/src/main.rs b/src/main.rs
index 1c319878..924fc4e0 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -67,7 +67,7 @@ struct NoBaseDirectories;
#[fail(display = "Process Interrupted")]
pub struct Interrupted;
-fn execute<'a, F, M>(func: F) -> Result