時には、20〜50近くのファイルを元に戻す必要がありますが、将来的に何かを使用する場合は、ローカルでファイルを保存する必要があります。
プロジェクトは大きく、1万以上のファイルです。
コミットされていないファイルのみのコピーを作成できますか?
手動で変更を検出し、コピーに2時間ほどかかります。プロジェクトのツリーには多数のネストされたフォルダがあります。SVNにコミットされていないファイルのみのコピーを作成できますか?
1
A
答えて
4
svn diff
でdiffを作成し、diffをsvn patch
で再適用することができます。
しかし、これは実際にSVNでどのように作業する必要はありません。変更を加えてブランチを作成できたら、後でそのブランチをマージして、同僚とコンテンツを共有することができます。
ブランチの作成は、SVNでは比較的控え目であることに注意してください。サーバー上では、ファイルは実際に変更されるまでオリジナルにリンクされています。変更されたファイルのみがサーバー上の領域を占有します。
注:
svn diff
だけであなたのファイルではなく、完全なファイルの変更された行を保存します。しかし、パッチを再適用する必要があれば十分です。
1
実際に(svn diffやブランチを使うのではなく)ファイルのコピーが必要な場合は、どのファイルが変更されているかをチェックすることです(サーバ設定ファイルのバックアップに使用するバージョン)。以下の注記は、あなたがレポのトップレベルにいると仮定しています。あなたがsvn status
を実行する場合
は、たとえば、あなたがこのような出力を得る可能性があります:
? plans/software/intro_jan12.log
? plans/software/intro_jan12.dvi
? plans/software/data.txt
? plans/software/intro_jan12.nav
M plans/software/intro_jan12.pdf
M plans/software/jan12.tex
? plans/software/jan12/flowRoot9298.png
? plans/software/jan12/viewE_comments.pdf
? plans/software/jan12/team.ps
? plans/software/jan12/team.png
? plans/it/plan.log
(?示す未知のファイルを、Mは、変更されたファイルを示しています。)
あなたは、簡単に変更されたファイルを抽出することができますsvn status | egrep '^M'
のようなことをすることでそれらと一緒にやってください。コピーはどこか別の場所にファイルを変更することを短いシェルスクリプトにそれを回す
は非常に簡単です:
# step 1
svn status | egrep '^M' | awk '{ print $2 }' > recipe_file
# step 2
rsync -a --files-from=recipe_file <repo> <dest>
当然<dest>
は、リモートマシン上に置くことができます。
おそらく、あなたがコピーファイルを監査したら、svn revert -R
を実行することができます。
関連する問題
- 1. チェックアウトや作業コピーなしのSVNコミット
- 2. SVNはsvnステータスで表示されてもバージョン管理されていないファイルをコミットしません
- 3. コピーSVN変更されたファイルのみを別のディレクトリにコピー
- 4. SVNでコミットされているファイルの著者名を取得
- 5. SVN:ファイルのサブセットを新しいタグにコピーできますか?
- 6. コミットされたファイルとフォルダをコピーするためのSVNフックですか?
- 7. '/ svn/ctm /!svn/me'へのアクセスが禁止されていますsvn serverにコミットしていますか?
- 8. psd(Photoshop)ファイルをSVNにコミットできないのはなぜですか?
- 9. SVNのパスを使用して作業コピーを使わずにSVNのファイルをコミットします
- 10. SVNコミットに異常なテキストが追加されています。
- 11. Svn Postコミットされたファイルを別のリポジトリの作業コピーにコピーするCommit Hook Post?
- 12. Git、コミットとコミットの間のファイルのコピーを取らないでください
- 13. webpackで生成されたファイルをコミットしていますか?
- 14. この作業コピーのリポジトリURLは、SVNで省略されていますか?
- 15. 同じファイルを2つのSVNリポジトリにコミットできますか?
- 16. 大きなファイルをsvnにコミットできません
- 17. SVNサブディレクトリのコミットとマージは有害なものとみなされますか?
- 18. コミットされたファイルをSvnのリポジトリにコミットした後にまとめて(1回のコミットとして)?
- 19. SVNでweb.configがコミットされないようにする
- 20. フォルダーの作成後にすべてのファイルがコピーされない理由
- 21. FileSavePickerから作成したファイルでデータをコピーできない
- 22. コミットされていない削除済みファイル(プレーンrmで削除)を最後のgitコミットに戻す方法
- 23. SVN作業コピーから削除されたファイルのリスト
- 24. 作業コピーなしで1つのファイルをコミットします
- 25. Python 3.6.1 - 書き込みモードでファイルが作成されない
- 26. カーソルの作成、データはコピーされていますか?
- 27. コミットされたファイルの古いバージョンの一部を新しいコミット済みバージョンのファイルに含めます
- 28. SVN古いリポジトリにロードしますが、SVNクライアントは新しいファイルをコミットできません
- 29. svnブランチのGITマージでBASEファイルが生成されない
- 30. rootで作成されたすべてのファイルが書き込み禁止になっています
+1のブランチ。 svnのパッチも1.7 +私は思う - 何人かの理由のために多くの人々はまだ1.6にあります。 – Rup
その他のパッチツールもあります。また、TortoiseSVNは長い間パッチサポートを内蔵していました。しかし、patchコマンドにアクセスするには、クライアントを1.7に更新するだけで済みます。 –