global-ignores
私たちのプロジェクトでは、ユーザーの svn 設定ファイルでのsvn の使用を避けています。これらの svn 設定はクライアントに限定されており、プロジェクトのプロパティではないためです。ファイルのようなものを使用して、プロジェクトのサブディレクトリで無視されたファイルを管理する方法が必要.gitignore
でした。ファイルを (1) ディレクトリ ツリー内のファイルを検索し、(2)ファイルが見つかった各ディレクトリのプロパティを更新.svnignore
するスクリプトと組み合わせて使用する単純なスキームを開発しました。誰かがファイルを更新するときは、忘れずにスクリプトを実行する必要があります。これは、ディレクトリのプロパティを手動で管理するよりも簡単です。.svnignore
svn:ignore
.svnignore
svn:ignore
スクリプトは次のとおりです。
#!/bin/sh
# Syntax of the .svnignore file: like what "svn propset svn:ignore" accepts,
# and in addition, lines in the .svnignore file that begin with a pound sign
# (#) are ignored so that one can put comments in the file.
find $1 -depth -name .svnignore | while read file ; do
dir="`dirname $file`"
egrep -v '^[ ]*#' $file | svn propset svn:ignore -F - $dir
svn update $dir
svn commit --depth=immediates -m"Updated list of ignored files." $dir $dir/.svnignore
done
echo "Done."
.svnignore
このスクリプトが受け入れるファイルの例を次に示します。
# WARNING: This .svnignore file is not understood by SVN directly.
# WARNING: It is meant to be used in conjunction with our script in
# WARNING: trunk/project/scripts/svn-update-from-svnignore.sh
autom4te.cache
Makefile
config.log
config.status
.deps
include
TAGS
CTAGS
*.o
私の質問は次のとおりです。
- 同じことを達成するためのより良い方法はありますか?
- ここに表示されているアプローチまたはスクリプトに危険はありますか?
ヒントをありがとう。