web-dev-qa-db-ja.com

Subversionで特定の種類のファイルをどのように含めたり、除外したりしますか?

Include/excludeの専門用語と混同されており、実際のSVNクライアントには、バージョン管理のために特定の種類のファイルを追加または削除する簡単なオプションがないようです(または簡単に見つけることができませんでした) 。

たとえば、ソリューション、プロジェクト、デバッグファイルなどを含むVisual Studioフォルダー全体を追加したが、実際のソースファイルのみをバージョン管理したいとします。それを行う最も簡単な方法は何でしょうか?

46
Nano Taboada

新しいタイプを追加してもバージョン管理されていないことに気付かないため、含めるファイルを選択するのではなく、特定のファイルタイプを除外するのがおそらく最も安全です。

ディレクトリごとに、 svn:ignore プロパティを編集できます。

走る

svn propedit svn:ignore .

関連するディレクトリごとに、無視するパターンのリストを含むエディターを表示します。

次に、無視するファイルタイプに対応する各行にパターンを配置します。

*.user
*.exe
*.dll

そしてあなたは何を持っています。

あるいは、提案されているように、これらのパターンを〜/ .Subversion/configファイルのglobal-ignoresプロパティに追加できます(またはWindowsの"%APPDATA%\Subversion\config"-参照してください 赤の構成領域レイアウト詳細についてはBean book )。その場合は、パターンをスペースで区切ります。これが私の#行の先頭にコメントがあります。 Ankh .Loadファイルとすべての* .resharper.userファイルを無視しました。

### Set global-ignores to a set of whitespace-delimited globs
### which Subversion will ignore in its 'status' output, and
### while importing or adding files and directories.
# global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store
global-ignores = Ankh.Load *.resharper.user
61
Blair Conrad

これは、 svn:ignore プロパティ、または~/.Subversion/configファイルのglobal-ignoresプロパティを使用して実現できます。 (プロパティを編集する手順を確認するには、その最初のリンクの上部までスクロールします。)

ディレクトリでsvn propsetまたはsvn propeditを使用すると、特定のディレクトリ内でそのパターンに一致するすべてのファイルをSubversionに無視させることができます。ただし、~/.Subversion/config[miscellany]セクションでグローバル無視を変更すると、Subversionはそのようなファイルがどこにあっても無視します。

5
Max Cantor

ブログ投稿svn:ignoreを参照してください。

TortoiseSVNを使用して、チェックアウト済みのルートフォルダーをクリックし、[プロパティ]メニュー項目を選択して任意のプロパティを追加できることを知っています。この場合、除外するファイルパターンを指定するだけです。

コマンドラインに関するブログ記事ですが、使用しているクライアントに関係なく動作するはずです。

2
MattC

別の方法として、TortoiseSVNを使用する場合は、[コミット...]を選択し、ファイルを右クリックしてチェンジリストの[ignore-on-commit]に移動できます。

1
John Henckel

最低レベルでは、SVNでは svn:ignore 属性を使用して特定のファイルまたはパターンを無視できます。 VisualSVN などのSVNのVSアドインは、これらのファイルを自動的に無視します。 TortoiseSVN を使用している場合は、エクスプローラーでファイルとフォルダーを右クリックし、無視リストに追加を選択できます。

1
Kent Boogaart

svn:ignoreプロパティでは、ワイルドカードを使用できます。

1
Prody