3

現在の作業コピーに、ローカルで変更されたファイルのリストがあります。変更されたファイルは約50個あります。

これを行うことで、これらのファイルのリストを取得できます。

svn st | ack '^M'

これらのファイルとこれらのファイルのみを別のディレクトリにコピーする方法はありますbackupか?

4

5 に答える 5

4

ackがgrepのようなものだとすると、次のようなことができます。

cp `svn st | ack'^ M'| cut-b8-`バックアップ

これをコメントとして投稿します...しかし、コメントのバックティックをエスケープする方法がわかりません...

于 2012-05-03T14:28:16.513 に答える
2
svn status | grep '^[ADMR]' | cut -b 8- | xargs -I '{}' rsync -R  {} /directry/
于 2013-03-18T06:55:39.537 に答える
1

これは(bash)を行います:

#!/bin/bash
set -eu

# for each modified file
for f in $(svn st| awk '/^M/{print $2}'); do
    # create a directory under backup root and copy the file there
    mkdir -p .../backup/${f%/*} && cp -a $f .../backup/$f
done
于 2012-05-03T14:18:16.063 に答える
1

Windows 8では、現在のsvnディレクトリで次のコマンドを使用できます。

(FOR /F "tokens=2 delims== " %i IN ('svn st ^| findstr "^[ADMR]"') DO @echo %i & echo f| xcopy /f /y %i c:\projects\backup\%i)
于 2013-08-02T09:37:02.793 に答える
0

それは私のために働きます:

svn status | grep ^M | awk '{print $2}' | xargs -I '{}' cp --parents {} /backup/
于 2018-01-22T11:01:06.740 に答える