0

我想将此逻辑合并到 bash 脚本中:如果当前存储库有任何本地更改,则停止处理。

我对 git 有相同的逻辑,现在我需要为 mercurial:

#!/bin/bash
set -ex
git pull
git update
# Disallow unstaged changes in the working tree
    if ! git diff-files --check --exit-code --ignore-submodules -- >&2
    then
        echo >&2 "error: you have unstaged changes."
        exit 1
    fi

# Disallow uncommitted changes in the index
    if ! git diff-index --cached --exit-code -r --ignore-submodules HEAD -- >&2
    then
        echo >&2 "error: your index contains uncommitted changes."
        exit 1
    fi
4

1 回答 1

1

这应该这样做:

if [ -n "$(hg status -mar)" ]
then
    echo >&2 "error: your index contains uncommitted changes."
    exit 1
fi

这会检查是否有任何文件被移动、添加或删除。如果您想检查已删除(丢失)或未知但未被忽略,您也可以这样做。

于 2013-06-07T00:36:47.653 回答