0

バージョン管理されていないファイルを次の方法で移動できます

mv * subfolder/

バージョン管理されたファイル

svn mv * subfolder/

( にある問題subfolderは別として*)

しかし、ファイルの半分がバージョン管理されていて、残りの半分がバージョン管理されていない場合、どうすればファイルを移動できますか?

4

2 に答える 2

0

次のようなことができます:

for f in svn ls .; do svn mv $f subfolder; done
mv * subfolder

あなたはまだ処理する必要がありsubfolderます。.svnには一致しません*が、名前がドットで始まるファイルやディレクトリには注意が必要な場合があります。

于 2013-05-06T14:58:39.117 に答える
0

私は a を実行し、find . \! \( -name .svn -prune \)それを a にパイプします (タブや文字をwhile read含むディレクトリやファイルがないと仮定して、これを簡単にします)。\n次に、svn mvそのファイルに対して a を実行します。それが失敗した場合は、それがバージョン管理されていないファイルであることがわかり、簡単mvに実行できます。

$ find . \! \( -name .svn -prune \) | while read file
do
    if ! svn mv $file $new_location
    then
        mv $file $new_location
    fi
done

実際のコードはこれよりも複雑になります。ファイルを移動しているディレクトリが存在する場合はどうなりますか? 存在しない場合はどうなりますか?これは移動しようとしているディレクトリですか、それともファイルですか? これらはすべて、ファイルの移動方法に正確に影響します。

本当の問題は、なぜ突然自分がこれをしていることに気付くのかということです. これらのバージョン管理されていないファイルはどこから来たのですか?なぜそれらもワークスペース内の別のディレクトリに移動する必要があるのですか?

于 2013-05-06T14:52:16.900 に答える