0

リポジトリ内のブランチのみを同期したい。branches/my_branchだから私は実行しました:

svnsync init http://localhost/svn/my_branch http://remote_svn/branches/my_branch

実行した後:

svnsync sync http://localhost/svn/my_branch

[...]
Copied properties for revision 53542.
Committed revision 53543.
Copied properties for revision 53543.
Committed revision 53544.
Copied properties for revision 53544.
Committed revision 53545.
Copied properties for revision 53545.
Committed revision 53546.
Copied properties for revision 53546.
Transmitting file data .........................................................
.................................................svnsync: E175002: REPORT of
'http://remote_svn/branches/my_branch': Could not read chunk size: connection 
was closed by server (http://remote_svn)

(もちろん、はるかに多くの「ドット」があります)

このリビジョンは初期のものであるため、非常に大きいことを私は知っています。

それで、これを他の方法で行う方法はありますか?たぶん、一時的な場所でチェックアウト(チェックアウトは正常に機能します)し、宛先SVNに手動でコミットしてから再開しますか?

4

2 に答える 2

1

ネットワークまたはサーバーが接続を閉じたようです。同期プロセスのメモリ使用量を監視しながら、再試行できます。

手動でファッジするには、filesディレクトリからデータをコピーしてから、プロパティファイル0の内容を注意深く編集する必要があります。そこに同期プロセスの詳細があります。最初のファイルデルタをコピーしたら、0プロパティを編集して、すでに同期されているこのファイルのように読み取ります。(つまり、関連するエントリに1を追加します)。ただし、そのプロパティファイルの各エントリを理解するために少し時間がかかります。それを台無しにした場合は、同期ディレクトリを削除して再開するだけです(または同期リポジトリ全体をコピーして復元します)

于 2013-02-27T18:07:17.817 に答える
0

新しいバージョンのsvnsyncでは、次のことができます。

ソースマシン上

svnadmin dump repo > repo.dump

同期するマシン上

svnadmin create repo
svnadmin load repo < repo.dump

それから

svnsync init --allow-non-empty <dest> <source>

また、ダンプした最初のn個のリビジョンがdestとsourceで同じであると想定します。

于 2013-08-22T08:16:48.673 に答える