109

buildツリーの深さに関係なく、ディレクトリに名前を付けたりdist、SVNに入れたりしたくありません。

これは可能ですか?gitで私はちょうど入れました

build
dist

.gitignoreのルートで、再帰的に無視します。svnでこれを行うにはどうすればよいですか? すべての親ディレクトリで propset を実行するように言わないでください...

4

15 に答える 15

63

サブバージョン 1.8 の時点で、svn:global-ignores同様に機能するが再帰的に機能するプロパティがありますsvn:ignore(したがって、これを最上位ディレクトリに設定します)。

于 2015-02-10T07:11:54.003 に答える
44

svn propsetオプションとして取る--recursiveので、これを行うことができますが、2 つの欠点があります。

  1. リポジトリ全体 (または少なくともその中のすべてのディレクトリ) をチェックアウトする必要があります。
  2. svn:ignore新しいディレクトリを追加するたびにプロパティを設定することを忘れないでください
于 2010-01-10T17:54:13.460 に答える
41

これを行うことはできません。svn:ignoreSubversion には、 (非再帰的) とglobal-ignores(リポジトリ固有ではない)の 2 つの無視メカニズムしかありません。

于 2010-01-09T23:24:27.013 に答える
16

これは私のために働きます:

 svn propset --recursive svn:ignore *.zip <dir_tree_with_no_zips>
于 2012-02-09T12:53:20.853 に答える
15

~/.subversion/config または /etc/subversion/config ファイルに追加します。

[miscellany]
global-ignores = build dist
于 2010-01-09T23:19:00.560 に答える
9

バージョン管理からディレクトリを削除することにより、buildおよびdistdirを無視することができます。秘訣は、-keep-localオプションを使用して、ディレクトリを作業コピーに残すことです。例えば:

svn rm dist --keep-local
svn ci -m'removed build directory from version control'

ディレクトリはSubversionによって追跡されなくなりますが、コンパイラの出力などを保持するために作業コピーに残ります。

乾杯、ジョー

于 2011-03-24T20:20:45.283 に答える
6

たとえば、フォルダー構造は次のとおりです。

Project/
Project/dist/

cd Project
svn propset svn:ignore '*' dist/
svn ci -m "content of dist ignored"

ignore コマンドの前に dist コンテンツの svn delete を実行するとよいため、ブランチの場合、dist は空になります。

私のために働いて、今日テストしました。 ここにそれを少し説明するページがあります

于 2012-08-15T09:47:03.767 に答える
5

すべてのリポジトリでそのようなファイルをすべて無視するには、global-ignoresユーザーごとの構成ファイルに を追加できます。

Unix ライクなシステムでは、この領域はユーザーのホーム ディレクトリにある .subversion という名前のディレクトリとして表示されます。Win32 システムでは、Subversion は Subversion という名前のフォルダーを作成します。これは通常、ユーザーのプロファイル ディレクトリのアプリケーション データ領域内にあります。

構成オプションを参照してください

残念ながら、これを行うリポジトリごとのオプションはありません。これは基本的にユーザーごと、またはディレクトリごとであるため、svn:ignoresできる限り面倒な場合は、おそらく複数の方法が適しています。

于 2010-01-09T23:18:22.183 に答える
5

Subversion 1.8 以降では、現在のリポジトリに対して global-ignores を設定できます。

svn propset svn:global-ignores build .
svn propset svn:global-ignores dist .

また、.svnignore という名前のフォルダーを作成し、条件を書き込むこともできます。

build
dist

build/* または dist/debug を設定しても無駄です。次に、次のコマンドを実行します。

svn propset svn:global-ignores -F .svnignore .
于 2015-11-13T01:20:19.520 に答える
5

最初に作業コピーの最上位フォルダーに移動し、そこにファイル (.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/

于 2014-10-14T22:51:36.830 に答える
2

ファイルを作成し、それに無視を追加します

無視リスト:

file1 
directory1
file2
etc...

次に、次のコマンドを適用します

for n in directory; do svn propset svn:ignore -F ignore-list $n; done

ディレクトリはディレクトリの名前です。ディレクトリ/サブディレクトリと同様にサブカテゴリに分類できます。または * を使用して、現在のディレクトリをメモします。

これは、シェルとして bash を使用していることを前提としています

于 2013-01-24T07:02:25.750 に答える
2
svn propset --recursive svn:ignore svn_ignore_rules .

ここで、svn_ignore_rules は無視ルールを含むファイルです -- 1 行に 1 つずつ

もちろん、リポジトリに新しいディレクトリを追加するたびに再実行する必要があります

svn_ignore_rules はレポにチェックインされていると見なすこともでき、レポへの書き込みアクセス権を持つ他のユーザーが再利用できるようになります

于 2013-03-16T23:30:20.703 に答える
1
cd parent_dir #再帰的に無視されるフォルダを含むディレクトリ
svn propedit svn:ignore . #svn-prop.tmp を開きます
フォルダを登録する
^X
よ
commit -m 'ターゲット ディレクトリを無視'
于 2013-03-26T06:56:07.950 に答える
0

1 つの方法は、コミット前またはコミット後のフックにある種のチェックを追加することですが、レポ サーバーを所有していない場合は簡単です。

于 2011-03-10T12:27:36.007 に答える
0

このおそらく一般的な問題には解決策がないように思われるため、私たちの解決策を共有したいと思います。他の人がすでに明らかにしているように、プロパティを使用するかsvn:ignore、これを単一のディレクトリに適用するか (したがって、新しいディレクトリには適用しません)、global-ignores単一のユーザーに適用するか (ただし、リポジトリには属しません) を使用できます。

生活を少し楽にするために、という名前のregファイルを作成しSettings.Svn.reg、リポジトリのルートに追加しました。これで、誰もがこの regfile を 1 回ダブルクリックして、設定を完了できます。

REGEDIT4

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
"global-ignores"="obj *.suo *.bak *.pdb *.user *.Cache*"

SVNリポジトリ内のソリューションを本当に感謝していますので、誰かが知っていれば、それを共有していただけますか?

于 2011-11-16T10:51:01.650 に答える