質問: svn commit。 tortoiseのコミットを模倣できる小さなスクリプトまたは何かがありますか?環境はlinuxでbashプロンプトが表示されます。(svn1.7.5)
回答: 作業ディレクトリのルートに移動します。_svn add . --force_(これにより、作業ディレクトリが再帰的にトラバースされ、バージョン管理されていないことが見つかったすべてのファイルに対して_svn add_が実行されます。)次にこれを行います:svn rm $( svn status | sed -e '/^!/!d' -e 's/^!//' )(これは_svn status_を実行します。statusコマンドは、作業ディレクトリで変更されたすべてのリストを再帰的に提供します。奇妙なsedコマンドは、「!」で始まるすべての行を検索します(これがsvnstatusの方法です)。削除されたファイルを示します。))今やる:_svn commit_それは私が本当にこれをすることを勧めるというわけではありません。変更を行うときは、「rmoldfile」ではなく「svnrmoldfile」を使用することをお勧めします。 「svnadd。--force」もそれほど優れていません。テスト中に生成したすべての一時ファイルとオブジェクトファイルをチェックインします。新しいファイルを追加する場合は、「svnaddnewfile」だけを使用することをお勧めします。私は通常、チェックインの前に「svn status -u」を実行して、作業コピーの変更点を明確に把握します。svn rmの部分の答えは次の場所にあります: https://stackoverflow.com/questions/1265122/how-can-i-programmatically-detect-missing-files-in-tar-archive-and-delete -them-f?rq = 1 、これはクレジット http://geryit.com/blog/command-line-subversion-practices/ 。