私は、フォルダを持っているc:\websites\test
、そしてそれはもはやが存在しないことをリポジトリからチェックアウトされたフォルダやファイルが含まれています。Subversionがそのフォルダーとサブフォルダーとファイルの追跡を停止するようにするにはどうすればよいですか?
単純に.svn
フォルダを削除できることはわかっていますが、多くのレイヤに多数のサブフォルダがあります。
私は、フォルダを持っているc:\websites\test
、そしてそれはもはやが存在しないことをリポジトリからチェックアウトされたフォルダやファイルが含まれています。Subversionがそのフォルダーとサブフォルダーとファイルの追跡を停止するようにするにはどうすればよいですか?
単純に.svn
フォルダを削除できることはわかっていますが、多くのレイヤに多数のサブフォルダがあります。
回答:
また、TortoiseSVNを使用している場合は、現在の作業コピーの場所にエクスポートするだけで、.svnフォルダーとファイルが削除されます。
http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-export.html#tsvn-dug-export-unversion
Subversion 1.7の更新された回答:
Subversion 1.7では、作業コピーが大幅に改訂されました。作業コピーのベースにある.svnフォルダーは1つだけです。1.7を使用している場合は、.svnフォルダーとその内容を削除するだけで簡単に解決できます(TortoiseSVNまたはコマンドラインツールの使用に関係なく)。
svn exportを試してください。
次のようなことができるはずです。
svn export /path/to/old/working/copy /path/to/plain/code
次に、古い作業コピーを削除します。
TortoiseSVNにはエクスポート機能もあり、同じように動作します。
svn: E000002: Can't stat '/.classpath': No such file or directory
Windowsを実行している場合は、そのフォルダで検索を実行する.svn
と、それらすべてが一覧表示されます。Ctrl+ Aを押すとそれらすべてが選択され、deleteを押すと「厄介な」Subversionのものがすべて削除されます。
Linuxでは、コマンドは次のとおりです。
svn delete --keep-local file_name
一時的な場所にコピーする必要すらないこともわかりました。あなたはできる
svn export --force .
.svnファイルはその場で削除され、他のファイルはそのまま残ります。非常に便利で、乱雑になりがちです。
Linuxに.svn
フォルダーを削除するサブシェルがない場合:
find . -name .svn -exec rm -r -f {} +
rm = remove
-r = recursive (folders)
-f = force, avoids a lot of "a your sure you want to delete file XY".
これらの答えはどれも私の状況に満足できませんでした。私はsubversion 1.8を使用してい.svn
ますが、最初のフォルダーであるルートにフォルダーが1つしかない作業用コピーがありました。しかし、私はいくつかのブランチを作業コピーから削除したかったのです。
私が何をしたかに関係なく、「更新」を実行すると、それらのファイルが復元されてすべて元に戻ります。私は自分のコンピューターからだけで、リポジトリからそれらを削除したくありませんでしたが、残りの作業用コピーをそのままにしておく必要がありました(したがって、.svnフォルダーを削除することはできませんでした)。
解決? svn update --set-depth exclude <dir>
これは、特定のディレクトリを除外するクライアント側の「更新」です。svnbook.comのマニュアルにあります。つまり、これは次のように説明されています。
Subversion 1.6から、別のアプローチをとることができます。まず、ディレクトリ全体をチェックアウトします。次に、気にしない1つのサブディレクトリでsvn update --set-depth excludeを実行します。
TortoiseSVNの場合は、次のスクリーンショットに示すUpdate to revision...
ようにExclude
、不要なフォルダーを右クリックしてをクリックし、[ 深さの更新]をに設定して、同じことを行うこともできます。
それは私にとってうまくいきました:
find directory_to_delete/ -type d -name '*.svn' | xargs rm -rf
mkdir -p ';echo Hi Johnny;/.svn'
-その場合には検索の{}の呼び出しはまだかかわらず動作するはずです
Windowsでは、そのためのクイックリンクをエクスプローラの右クリックメニューに追加できます。このレジストリスクリプトを開始するだけです。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\DeleteSVN]
@="Delete SVN Folders"
[HKEY_CLASSES_ROOT\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""
これにより、「SVNフォルダーの削除」というアイテムが右クリックメニューに追加されます。これにより、このフォルダー内のすべての.svnフォルダーとすべてのサブフォルダーが削除されます。
出典(ドイツ語):http : //www.sjmp.de/software/alle-svn-ordner-und-dateien-loeschen/
「svn export」を使用して、svnデータなしでそのフォルダーのコピーを作成するか、そのフォルダーを追加してリストを無視することができます
また、Windowsエクスプローラーのコンテキストメニューに3つのオプションを追加する、SVN Cleanerと呼ばれる素晴らしい小さなオープンソースツールもあります。
Windows 7では、隠しファイルが有効になっている場合、プロジェクトフォルダーを開いて「.svn」を検索し、見つかったすべての.svnフォルダーを削除できます。
.svn
ディレクトリが分散して存在しないことに注意してください。詳細については、subversion.apache.org
答えは驚くほど簡単です- フォルダをそれ自体にエクスポートしてください!TortoiseSVNはこの特殊なケースを検出し、作業コピーをバージョン管理外にするかどうかを尋ねます。はいと答えると、コントロールディレクトリが削除され、バージョン管理されていないプレーンなディレクトリツリーが作成されます。
最善かつ最も簡単な方法
簡単な魔法のコマンドで勝てると思ったら失敗です!SVNは本当にトリッキーで、常に何らかの理由でXcodeの新しいエラーメッセージが表示されます。遅かれ早かれ、約束してください...あなたはそれを賢くしなければなりません!
ご存じのとおり、Xcodeでの通常のベストプラクティスは、左側のプロジェクトペインでファイルを削除することです。あなたがそれを見逃して、どういうわけかFinderでそれを削除した場合、あなたは困っています。大きな問題!しかし、うまくやれば、それを解決して時間を空けることができます。
まず、実際に削除する前に、ファイルまたはフォルダへのSVN参照を削除する必要があります
ゴミ箱からファイル/フォルダを元に戻すか、削除したときに最後の手順を元に戻すことができる場合、...
ターミナルに行きます-はい、古き良きターミナル-そしてその場所に行きます。最善の方法は、単にcdと入力して、フォルダー/ファイルをターミナルにプルすることです。あなたは似たようなものを手に入れます
cd / Users / UserName / Documents / Apps_Developing / ...
あなたはどこにいるのかチェックできます
ls
ファイルを一覧表示するコマンド。
次に、SVNコマンドでsvn参照を削除する必要があります。
svn delete --keep-local fileName_toDelete
これにより、SVNリポジトリからファイルが削除されますが、Finderで手動で削除する必要があります。
NetBeans IDEユーザーは、次のように実行できます。
プロジェクトを選択
Subversionエクスポートを右クリック
ダイアログボックスで
フォルダー/ var / tmp / projectnameにエクスポートを押します。エクスポートの待機が完了すると、完了を表示します。開くかどうかをその場で開きますか。
これでGitに切り替えることができます:)
以下を使用します。
svn rm --keep-local <folder name>
フォルダとその中のすべてを削除します。
svn rm --keep-local <folder name>/*
フォルダを保持しますが、フォルダ内のすべてを削除します。
これが何が起こるかの例です:
~/code/web/sites/testapp $ svn rm --keep-local includes/data/*
D includes/data/json
D includes/data/json/index.html
D includes/data/json/oembed
D includes/data/json/oembed/1.0
D includes/data/json/oembed/1.0/embed1.json
D includes/data/json/oembed/1.0/embed2.json
D includes/data/json/oembed/1.0/embed3.json
Windows 10では、に移動してからWindows Explorer
、View
のチェックボックスに移動してチェックする必要がありますView hidden files
。
次に、WindowsエクスプローラでSVNがリンクされているフォルダに移動し、.svn
フォルダ/ファイルを削除します。
.svn
フォルダーを削除する方法を既に知っていますが、すべてのサブフォルダーについて質問しています。質問をよく読んで