回答:
Subversion 1.8以降、現在は再帰的にsvn:global-ignores
機能するプロパティがありsvn:ignore
ます(最上位ディレクトリに設定してください)。
global-ignores
してい~/.subversion/config
ます- ファイルにありますが、SVNリポジトリのディレクトリに設定された継承可能な svn:global-ignores
プロパティも同様にsvn:ignore
-これらのさまざまなオプションの概要とそれらの比較方法を提供できますか?--recursive
フラグはそれらにどのように影響しますか?
obj
フォルダはまだ表示されます](stackoverflow.com/questions/50960188/…)、それを確認するのを手伝ってくれませんか?
svn propset
--recursive
オプションとして取るので、これを行うことができますが、2つの欠点があります。
svn:ignore
新しいディレクトリを追加するときは、必ずプロパティを設定する必要がありますこれを行うことはできません。Subversionには、svn:ignore
(再帰的global-ignores
ではない)と(リポジトリに固有ではない)2つの無視メカニズムしかありません。
〜/ .subversion / configまたは/ etc / subversion / configファイルに追加します。
[miscellany]
global-ignores = build dist
たとえば、フォルダー構造:
Project/
Project/dist/
cd Project
svn propset svn:ignore '*' dist/
svn ci -m "content of dist ignored"
ignoreコマンドの前にdistコンテンツのsvn deleteを実行することをお勧めします。これにより、ブランチのdistは空になります。
私のために働いて、今日テストされました。 こちらが少し説明のあるページです
すべてのリポジトリにあるそのようなファイルをすべて無視するにはglobal-ignores
、ユーザーごとの構成ファイルにを追加します。
Unixライクなシステムでは、この領域はユーザーのホームディレクトリに.subversionという名前のディレクトリとして表示されます。Win32システムでは、SubversionはSubversionという名前のフォルダーを作成します。通常は、ユーザーのプロファイルディレクトリのアプリケーションデータ領域内にあります
構成オプションを参照
残念ながら、これを行うリポジトリごとのオプションはありません。それは基本的にユーザーごと、またはディレクトリごとなので、複数にするのsvn:ignores
がおそらく迷惑な方法です。
まず、作業コピーの一番上のフォルダーに移動し、そこにファイル(.svnignoreなど)を作成する必要があります。ここに、無視するすべてのパターンを配置する必要があります。たとえば(Androidプロジェクトの場合):
bin
gen
proguard
.classpath
.project
local.properties
Thumbs.db
*.apk
*.ap_
*.class
*.dex
次に、次のコマンドを実行します(作業コピーの最上位フォルダーにいる必要があることに注意してください)。
svn propset svn:ignore -R -F .svnignore .
これは、まだバージョン管理されていないフォルダーとファイルに対してのみ機能します。バージョン管理されているフォルダー(またはファイル)も無視されるようにするには、次のコマンドを実行して、バージョン管理から削除します。
svn rm --keep-local <path>
すべてを説明するこの素晴らしい記事から、このすべてを手に入れました。 http //superchlorine.com/2013/08/getting-svn-to-ignore-files-and-directories/
Subversion 1.8以降では、現在のリポジトリにグローバル無視を設定することが可能です。
svn propset svn:global-ignores build .
svn propset svn:global-ignores dist .
また、.svnignoreという名前のフォルダーを作成し、条件を書き込むこともできます。
build
dist
1行につき1つの条件を覚えてください。build/ *またはdist / debugの設定は無駄です。次に、次のコマンドを実行します。
svn propset svn:global-ignores -F .svnignore .
ファイルを作成し、無視をファイルに追加します
インゴアリスト:
file1
directory1
file2
etc...
次に、次のコマンドを適用します
for n in directory; do svn propset svn:ignore -F ignore-list $n; done
directoryはディレクトリの名前です。ディレクトリ/サブディレクトリと同様にサブカテゴリ化できます。または、*を使用して、現在のディレクトリをメモします。
これは、シェルとしてbashを使用していることを前提としています
このおそらく一般的な問題の解決策はないようですので、私は私たちの解決策を共有したいと思います。他のユーザーがすでに明らかにしたようにsvn:ignore
、このプロパティを使用するか、これを単一のディレクトリに適用する(したがって、新しいディレクトリには適用しない)かglobal-ignores
、単一のユーザーに適用する(リポジトリに属さない)を使用できます。
人生を少し簡単にするために、私はという名前のregファイルを作成し、Settings.Svn.reg
それをリポジトリのルートに追加しました。これで誰もが一度このregfileをダブルクリックでき、設定が完了しました。
REGEDIT4
[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
"global-ignores"="obj *.suo *.bak *.pdb *.user *.Cache*"
私は本当にSVNリポジトリ内のソリューションに感謝します。誰かが知っている場合は、それを共有してもらえますか?