This is the 5th last patch series of my work to accelerate interactive rebases in particular on Windows. Basically, all it does is to make reusable some functions that were ported over from git-pull.sh but made private to builtin/pull.c. Changes since v3: - reworded 3/5's commit message according to Junio's suggestion. - fixed a tyop in 4/5's commit message, pointed out by Jakub. - marked the hint "please commit or stash them" (reintroduced from the original git-pull.sh script) as translatable. - changed the exit code to 128 (emulating a die()) if require_clean_work-tree() was asked to be non-gentle. - fixed a tyop in 3/6 (which was replaced in 4/6, but it is good not to introduce bugs only to fix them right away). - prefixed the commit message of 4/6 with the "wt-status:" prefix, replicating Junio's commit message in the `pu` branch. Johannes Schindelin (6): pull: drop confusing prefix parameter of die_on_unclean_work_tree() pull: make code more similar to the shell script again wt-status: make the require_clean_work_tree() function reusable wt-status: export also the has_un{staged,committed}_changes() functions wt-status: teach has_{unstaged,uncommitted}_changes() about submodules wt-status: begin error messages with lower-case builtin/pull.c | 71 +++------------------------------------------------- wt-status.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ wt-status.h | 6 +++++ 3 files changed, 87 insertions(+), 68 deletions(-) Published-As: https://github.com/dscho/git/releases/tag/require-clean-work-tree-v4 Fetch-It-Via: git fetch https://github.com/dscho/git require-clean-work-tree-v4 Interdiff vs v3: diff --git a/builtin/pull.c b/builtin/pull.c index 0bf9802..d6e46ee 100644 --- a/builtin/pull.c +++ b/builtin/pull.c @@ -810,7 +810,7 @@ int cmd_pull(int argc, const char **argv, const char *prefix) if (!autostash) require_clean_work_tree(N_("pull with rebase"), - "please commit or stash them.", 1, 0); + _("please commit or stash them."), 1, 0); if (get_rebase_fork_point(rebase_fork_point, repo, *refspecs)) hashclr(rebase_fork_point); diff --git a/wt-status.c b/wt-status.c index ef67593..e8e5de4 100644 --- a/wt-status.c +++ b/wt-status.c @@ -2281,7 +2281,7 @@ int require_clean_work_tree(const char *action, const char *hint, int ignore_sub if (hint) error("%s", hint); if (!gently) - exit(err); + exit(128); } return err; -- 2.10.0.windows.1.325.ge6089c1 base-commit: a23ca1b8dc42ffd4de2ef30d67ce1e21ded29886