Tortoiseクライアントを使用して、SVNへの変更をチェックアウト/コミットします。しかし、ローカルコピーで変更されたすべてのファイルのリストを見つけることができないため、これは少し難しいと感じました。ショートカットや見落としているものはありますか?
私はSVNが初めてです。参考までに。
カメの「変更の確認」コマンドは、作業コピー内のすべての変更されたファイルのリストを表示します。 「コミット」には、変更されたすべてのファイルも表示されます(その後、コミットできます)。 「元に戻す」には、変更されたファイルも表示されます(元に戻すことができます)。
私はカメに精通していませんが、LinuxへのSubversionでは、私は入力します
svn status
いくつかのグーグルは、亀がコマンドラインコマンドをサポートしていることを教えてくれます。svnリポジトリを含むフォルダでsvnステータスを試してください。
svn status -q
動作します。 Linuxボックスを使用している場合、変更されたファイルのみを表示するには、svn status | grep 'M '
Windowsでは、あなたが何をするかわからない、おそらく「FindStr」で何か
以下のコマンドは、変更されたファイルのみをウィンドウに表示します。
svn status | findstr "^M"
変更されたファイルのみをリストしたい場合は、ファイルが変更されたことを示す「M」を先頭に付けることで、svn stの出力を減らすことができます。私はそのようにします:
svn st | grep ^M
svn status | grep 'M '
はMacOSXで正常に動作します。
これをテストしました。
ファイル名だけが必要で、追加されたファイルも必要な場合(A)。
svn st | grep ^[AM] | cut -c9-
注:最初の7列はそれぞれ1文字幅で、その後にスペース、ファイル名が続きます。
これはWindowsでそれを行う必要があります:svn stat | 「M」を見つける
前述のように、SVN Check for modification
のルートに関連する変更を確認するには、GUIでtortoiseproc.exe /command:repostatus /path:"<path-to-version-control-file-or-directory>"
とCLIで<path-to-version-control-file-or-directory>
を使用する必要があります。
残念ながら、このコマンドは[〜#〜] all [〜#〜] local changesを表示せず、要求されたディレクトリルートに関連する変更のみを表示します。スタンドアロンチェックアウトやルートサブディレクトリ内の孤立した外部ディレクトリなど、個別に行われた変更はnversionedまたはNestedとして表示され、それらをコミット/ルックアップできない場合があります。
このような状態を回避するには、tortoiseproc.exe /command:repostatus /pathfile:"<path-to-file-with-list-of-items-to-lookup-from>"
を呼び出す必要があります(コマンドラインの詳細なドキュメントを参照してください: https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-automation.html )、またはいくつかの3dpartyアプリケーション/ユーティリティ/スクリプトを使用して呼び出しをラップします。
独自のスクリプトセットを作成しましたWindowsの場合Total Commander
からの呼び出しを自動化するために: https://sf.net/p/contools/contools/HEAD/tree /trunk/Scripts/Tools/ToolAdaptors/totalcmd/README_EN.txt (TortoiseSVN
を検索)
-WCディレクトリのセットのTortoiseSVNステータスダイアログを開きます(バージョン管理外の変更を表示するために常に開きます)。
Command: call_nowindow.vbs
Arguments: tortoisesvn\TortoiseProcByNestedWC.bat /command:repostatus "%P" %S
-WCディレクトリのセットのTortoiseSVNコミットダイアログを開きます(バージョン管理された変更が空でない場合のみ開きます)。
Command: call_nowindow.vbs
Arguments: tortoisesvn\TortoiseProcByNestedWC.bat /command:commit "%P" %S
最新の詳細については、README_EN.txt
を参照してください(使用前にconfigure.bat
を実行し、call_nowindow.vbs
のように残りのスクリプトを自分でコピーする必要があります)。
Powershellを使用すると、次のことができます。
# Checks for updates and changes in working copy.
# Regex: Excludes unmodified (first 7 columns blank). To exclude more add criteria to negative look ahead.
# -u: svn gets updates
$regex = '^(?!\s{7}).{7}\s+(.+)';
svn status -u | %{ if($_ -match $regex){ $_ } };
これには、プロパティの変更が含まれます。これらは列2に表示されます。また、列3〜7に表示されるファイルの他の違いもキャッチします。
ソース:
svn status: http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.status.html
Svnステータスの結果に一致する正規表現: powershellとsvnを使用してバージョン管理外のファイルを削除する
svn status | grep ^ Mは、変更されたファイルをリストします。 M-変更済みの略:)