svn list of files that are modified in local copy

后端 未结 12 1431
无人及你
无人及你 2021-02-01 00:24

I use Tortoise client to checkout/commit my changes to SVN. But I found this little difficult because I\'m not able to find List of all files that are changed in my local copy.

相关标签:
12条回答
  • 2021-02-01 01:12

    svn status | grep ^M will list files which are modified. M - stands for modified :)

    0 讨论(0)
  • 2021-02-01 01:14

    As said you have to use SVN Check for modification in GUI and tortoiseproc.exe /command:repostatus /path:"<path-to-version-control-file-or-directory>" in CLI to see changes related to the root of the <path-to-version-control-file-or-directory>.

    Sadly, but this command won't show ALL local changes, it does show only those changes which are related to the requested directory root. The changes taken separately, like standalone checkouts or orphan external directories in the root subdirectory will be shown as Unversioned or Nested and you might miss to commit/lookup them.

    To avoid such condition you have to either call to tortoiseproc.exe /command:repostatus /pathfile:"<path-to-file-with-list-of-items-to-lookup-from>" (see detailed documentation on the command line: https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-automation.html), or use some 3dparty applications/utilities/scripts to wrap the call.

    I has been wrote my own set of scripts for Windows to automate the call from the Total Commander: https://sf.net/p/contools/contools/HEAD/tree/trunk/Scripts/Tools/ToolAdaptors/totalcmd/README_EN.txt (search for TortoiseSVN)

    - Opens TortoiseSVN status dialog for a set of WC directories (always opens to show unversioned changes).

    Command:   call_nowindow.vbs
    Arguments: tortoisesvn\TortoiseProcByNestedWC.bat /command:repostatus "%P" %S
    

    - Opens TortoiseSVN commit dialogs for a set of WC directories (opens only if has not empty versioned changes).

    Command:   call_nowindow.vbs
    Arguments: tortoisesvn\TortoiseProcByNestedWC.bat /command:commit "%P" %S
    

    See the README_EN.txt for the latest details (you have to execute the configure.bat before the usage and copy rest of scripts on yourself like call_nowindow.vbs).

    0 讨论(0)
  • 2021-02-01 01:15

    Using Powershell you can do this:

    # 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){ $_ } };
    

    This will include property changes. These show in column 2. It will also catch other differences in files that show in columns 3-7.

    Sources:

    • svn status: http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.status.html

    • Regex to match results of svn status: Using powershell and svn to delete unversioned files

    0 讨论(0)
  • 2021-02-01 01:17

    Right click folder -> Click Tortoise SVN -> Check for modification

    0 讨论(0)
  • 2021-02-01 01:18

    svn status | grep 'M ' works fine on MacOSX.

    I just tested this.

    0 讨论(0)
  • 2021-02-01 01:18

    this should do it in Windows: svn stat | find "M"

    0 讨论(0)
提交回复
热议问题