バージョン管理されていないファイルを次の方法で移動できます
mv * subfolder/
バージョン管理されたファイル
svn mv * subfolder/
( にある問題subfolder
は別として*
)
しかし、ファイルの半分がバージョン管理されていて、残りの半分がバージョン管理されていない場合、どうすればファイルを移動できますか?
バージョン管理されていないファイルを次の方法で移動できます
mv * subfolder/
バージョン管理されたファイル
svn mv * subfolder/
( にある問題subfolder
は別として*
)
しかし、ファイルの半分がバージョン管理されていて、残りの半分がバージョン管理されていない場合、どうすればファイルを移動できますか?
次のようなことができます:
for f in svn ls .; do svn mv $f subfolder; done
mv * subfolder
あなたはまだ処理する必要がありsubfolder
ます。.svn
には一致しません*
が、名前がドットで始まるファイルやディレクトリには注意が必要な場合があります。
私は 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
実際のコードはこれよりも複雑になります。ファイルを移動しているディレクトリが存在する場合はどうなりますか? 存在しない場合はどうなりますか?これは移動しようとしているディレクトリですか、それともファイルですか? これらはすべて、ファイルの移動方法に正確に影響します。
本当の問題は、なぜ突然自分がこれをしていることに気付くのかということです. これらのバージョン管理されていないファイルはどこから来たのですか?なぜそれらもワークスペース内の別のディレクトリに移動する必要があるのですか?