現在地に基づいて「svn ci」コマンドを確認してください

現在地に基づいて「svn ci」コマンドを確認してください

私はSVNを使って大きなプロジェクトを進めています。しかし、私はこれらの変更をコミットするのではなく、ローカルに保持したいと思います。しかし、誤ってsvn ci -m"blabla"他の人のブランチに自分の変更を入力してコミットするのはとても簡単です。ブランチには、自分が誰であるかを知ることができるいくつかの識別子があります。たとえば、次のようになります。

project-aa
project-bb
etc...

私のプロジェクトはbbプロジェクトです。正しいブランチにコミットすることを確認する方法はありますか?たとえば、送信するたびにパスのテキストに「-bb」が含まれていない場合は、確認するように求められます。

可能ですか?

ベストアンサー1

シェル機能を使用します。

svn () {
    if [[ $1 == "ci" || $1 == "commit" ]] && [[ $PWD != *"-bb"* ]]; then
        echo "don't commit to someone else's branch" >&2
        return 1
    fi    
    # now, do the actual svn command
    command svn "$@"  # quotes are crucial here
}

おすすめ記事