1

特定のファイルの名前をディレクトリ名として使用する必要があり、そのファイルを新しいディレクトリ内に移動します。

私のレポは今このように見えます:

file1
file2
dir1/
  dir1file1
search
source_code2

そして私はこれを取得する必要があります:

file1
file2
dir1/
  dir1file1
search/
  search_contents
source_code2

私がする必要がある操作は次のとおりです。

 mv search search_contents
 rm search
 mkdir search
 mv search_contents search/

私は私ができると思います:

 svn move search search_contents
 svn del search
 mkdir search
 svn add search
 svn move search_contents search/

それは意味がありますか?

svnは単一のファイル名で複数のコマンドをどのように処理しますか?(コミットを行わずに)または、中間コミットを行う必要がありますか?

4

2 に答える 2

2

間にコミットして更新せずにこれを実行しようとすると、次のようなメッセージが表示されます。

svn:「search」を別のタイプのノードに置き換えることはできません。'search'を追加する前に、削除をコミットして親を更新する必要があります

svnコマンドのリストを次のように変更するだけです。

svn move search search_contents 
svn commit -m "Renamed file"
svn up
mkdir search
svn add search
svn mv search_contents search
svn commit -m "done"
于 2012-04-28T18:09:05.273 に答える
0

これらの手順は1回のコミットで実行できることが判明しました。

# variant 1
svn move search search-newname
mkdir search
svn add search
svn move search-newname search/search
svn commit -m "magic"

# variant 2
svn delete search
mkdir search
svn add search
svn copy "^/search@3" search/
svn commit -m "more magic"

確信が持てず、リポジトリを台無しにしたくなかったということです。この回答のクレジットは、irc.freenode.netの#svnチャネルで暗黙のうちに使用されます。

また、svnmuccについて言及してくれたdanilshとwayitaに感謝しなければなりません。svnmuccは、リスト内の複数のコマンド(cp、mv、rmなど)を組み合わせることができるツールです。

于 2012-04-30T21:16:43.477 に答える