9

svn ci dir/a dir/b -m "my comment" を使用してみましたが、うまくいきません。svn ci dir/a/* dir/b/* -m "my comment" も使用しましたが、これも機能しません。

複数のファイルを指定できることは知っていますが、これらのフォルダー内の変更されたすべてのファイルをチェックインするように subversion に指示するにはどうすればよいですか? 私は主にこれを行いたいので、すべての変更が 1 つのリビジョンに反映されます。一度に 1 つのディレクトリをチェックインできますが、これにより、ディレクトリごとに異なるリビジョンが得られます..

4

9 に答える 9

10

ここでは問題なく機能するため、「しかし、これは機能しません」の意味を指定する必要がある場合があります。

D:\Projects>svn commit -m 'test1' test\aaa "test\aaa bbb ccc"
Sending        test\aaa\aaa222\xxx.txt
Sending        test\aaa bbb ccc\aaa.txt
Transmitting file data ..
Committed revision 8.

D:\Projects>
于 2009-05-18T18:27:35.877 に答える
4
svn add dir/a
svn add dir/b
svn commit

ただし、おそらく次のように考えています。

svn add dir/*
svn commit
于 2009-05-18T17:24:14.600 に答える
1

オプションは1つしかないと思います。含まれているディレクトリをチェックインします-これらの両方をサブディレクトリとして持つディレクトリです。

それらがまだそのように編成されていない場合 (つまり、両方ともリポジトリの最上位ディレクトリである場合)、できることはあまりありません。svn コマンドは単一のディレクトリでのみ機能します。

于 2009-05-18T17:26:11.710 に答える
0

これは、a と b がある場所の上位フォルダーからチェックアウトすると簡単です。したがって、作業コピーが「dir」で、a と b に変更がある場合は、「dir」をコミットして両方に変更をコミットします。私はいつもこれをしています。

編集:
複数のフォルダーをコミットするには、それらが同じ作業コピーにある必要があります。

処理するものが多すぎることが心配な場合は、必要なフォルダーのみを使用してスパース チェックアウトを試してから、他のプロジェクトのオーバーヘッドなしで、必要に応じてベース ディレクトリまたはサブディレクトリをコミットすることができます。

スパース ディレクトリ情報

于 2009-05-18T17:26:38.167 に答える
0

同様の問題が発生しました。私は 1 つのリポジトリを持っていて、リポジトリのサブフォルダーのいくつかの 2 つの別々の作業コピーを用意する必要がありました。リポジトリは次のようなものでした:

/web/lib
/web/htdocs
...

...私は(それぞれ)別々の作業コピーを持っている必要がありました:

C:/.../web/lib
C:/.../htdocs/cbs

の「マスター」作業コピーを作成し、 を「指す」ハードリンク (または NTFS ジャンクション) を作成することで、これを解決/webしましC:/.../webた。したがって、これらの作業コピーの 1 つでローカルな変更を行うときは常に、両方の作業コピーからの変更を自然に含む をコミットします。C:/.../htdocs/cbsC:/.../web/htdocsC:/.../web

この方法があなたに役立つことを願っています。

于 2014-11-01T23:29:14.877 に答える
0

この質問が出されてから長い時間が経ちましたが、到着が遅れた場合の最新情報があります。

dir/a、dir/b、dir/c、dir/d.... のようなツリーがあり、サブフォルダー a と b のみに変更をコミットしたい場合、次のコマンドが機能します。

svn ci dir/a/* dir/b/* -m "私のコメント"

7 年前に試したときにこれが本当に機能しなかった場合、この機能はその後のリリースで追加されたとしか思えません。

于 2016-06-02T15:21:40.693 に答える
0

以下を考慮すると、クエリは

  1. リポジトリから複数のディレクトリにチェックアウトされた多数のファイルがあり、それらの多くが変更され、どのファイルが変更されたか覚えておらず、一度に 1 つのファイルをマージするのが難しい場合は、次の手順を実行します。

最上位ディレクトリに移動し、コマンドを実行します

svn ci -m "comments"

これにより、最上位ディレクトリとその下の多くのサブディレクトリの下にある変更されたすべてのファイルがチェックインされます。

于 2011-06-15T04:09:19.280 に答える
0

リポジトリの一部をチェックアウトするには、svn:externals プロパティの使用を検討してください。取得するディレクトリを選択して選択し、1 つのステップで複数の宛先にコミットできます。私たちはこのアプローチをしばらくの間使用しており、大きな成功を収めています。

于 2009-05-18T19:59:19.967 に答える