問題タブ [svnsync]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
svn - パスを除外しない svndumpfilter の問題
svndumpfilter から奇妙な結果が得られます。多くのブランチに散らばっているリポジトリ内の 2 つの特定のファイルの 24 のインスタンスを消去する必要があります。次のように文書化されているようにコマンドを実行しています:
例えば
ただし、フィルタリングされたダンプ ファイルは、期待どおりにすべてのノードを削除するのではなく、2 つのノードのみを削除しているようです。2 つのダンプ ファイルで svndumptool diff を使用してこれを確認し、レポを再構築した後、除外されたファイルがまだ存在しています。
リポジトリ内のすべてのパスを見つけるために svnlook ツリーを使用したため、これらのファイルのインスタンスを見逃していないと確信しています。また、先頭のスラッシュがコマンドとダンプ ファイルで一致していることを確認しました。
誰にもアイデアはありますか?
svn - 新しいリビジョンなしでsvnsyncされたコピーのsvn:externalsプロパティを修正しますか?
( 'd)リポジトリsvn:externals
のローカルコピーに対する管理者権限を持っている場合、既存のリビジョンのプロパティを修正するにはどうすればよいですか?svnsync
次のような名前が付けられfixup.sh
、ローカルリポジトリのルートパス(、、、などを含む同じフォルダ)内に配置さconf/
れるスクリプトdb/
を使用してアイデアを示します。hooks/
エスケープしない限り、スクリプトはスペースを含むパスでは機能しないことに注意してください。
残念ながら、この種の変更は新しいリビジョンを作成し、その結果、元のリモートリポジトリからローカルリポジトリを段階的に更新することができなくなります。
sync
できれば、フェーズ中に、たとえばフックを使用してこれを実行したいと思います。ここで紹介する「解決策」は、解決策というよりも松葉杖のようなものです。つまり、同期後に履歴を毎回書き直さなければならず、事実上、変更されたコピーと「元の」コピーの2つの別々のコピーを保持する必要があります。マイナーなsvnsync
修正)。
注意:私は作業コピーではなく、リポジトリに取り組んでいます。また、これはrevpropでsvn:externals
はないことに注意してください。
svn - SVNリポジトリから履歴のある新しいリポジトリにトランクを拡張するブランチを抽出する方法
私はその問題をかなりグーグルで検索しましたが、必要なものが見つかりませんでした。
私はこのようなリポジトリを持っています
枝は、対応する幹の子孫です。たとえば、Project_Aの場合
カスタムバージョンには独自の寿命があり、トランクから更新を取得しなくなりました(多くの違い)。
新しいリポジトリで、顧客に関連するリビジョンのみを抽出する必要があります。つまり、1st_Custom_version_for_customer_Aが作成されるまでの/ Project_A/trunkです。次に、/ Project_A / branchs/1st_Custom_version_for_customer_Aおよび/Project_A/ branchs/2nd_Custom_version_for_customer_A。そして、プロジェクトBについても同じです。すべて同じリポジトリにあります。
svnsyncを試しましたが、/ Project_A / branchs / 2nd_Custom_version_for_customer_Aしか抽出できませんでした。履歴は良好ですが、他のブランチのすべてのコミットメッセージが表示されます(これは私の場合は問題です)。
svndumpfilterに関しては、最初から「/ Customer_A」の下にすべてがあれば完璧ですが(次回はこの方法で作業します)、ブランチが別のブランチからのコピーである場合、名前が変更されたり、削除されたり、再評価されたりします。など...正しく動作していないようです。
ここで作業を行うのに役立つツールなどはありますか?
ありがとう
apache - スレーブ svn サーバーからの svnsync コマンドの初期化
マスタースレーブSVNサーバーのセットアップがあります。
マスター サーバーと 2 つのスレーブ サーバーは、3 つの異なるタイムゾーンの 3 つの異なる場所にセットアップされます。スレーブ サーバーを 24 時間稼働させることはできないため、毎日の終わりにスレーブ サーバーをシャットダウンする必要があります。しかし同時に、開発者は別のスレーブからマスター サーバーに変更をコミットしています。マスターサーバーは永久に稼働しています。
したがって、私の状況は、svnsync コマンドによってのみマスターから実行できる各スレーブサーバーがマスターと同期する必要がある日の始まりにあります。
起動時にスレーブサーバーを自動的に同期する方法はありますか?
SubversionをホストするためにApacheサーバーを使用しています。OSはWindows Server 2008 R2です。
ありがとう
apache - スレーブが同期していない場合、マスターサーバーからsvnsyncコマンドを自動的に初期化します
マスタースレーブSVNサーバーのセットアップがあります。スレーブは書き込みプロキシを使用するため、すべてのコミットがマスターに転送されます。
スレーブサーバーが同期していない場合、スレーブリポジトリからチェックアウトされた作業コピーを最新に更新することはできません。
そのため、コミット中にスレーブが同期していない場合にマスターサーバーからsvnsyncコマンド
を自動的に初期化するソリューションを探しています。
ありがとう
[更新]この状況は、マスターが常に稼働しているのに対し、1日の終わりにスレーブサーバーをシャットダウンしたために発生します。したがって、スレーブの起動時にsvnsyncが発生しない場合、通常のユーザーは問題に直面してはなりません。
svn - 複数のリポジトリ間のSVN同期
私たちはSVNを使用しており、オンサイトチームとオフショアチームがあります。SVNリポジトリは現在オンショアの敷地内にあります。つまり、オフショアからSVNへの接続は非常に遅いです。オフショアでもSVNをセットアップしたいと思います。2つのSVNリポジトリが同期している必要があります。これを行うためのベストプラクティスは何ですか?サードパーティ製品が必要ですか?
ありがとう!
svn - revprop を削除した後、svnsync がロックの取得に失敗する
「svnsync - 宛先リポジトリでロックを取得できませんでした」というタイトルのスレッドで説明されているように、svnsync ロック プロパティを削除しようとしましたが、機能しませんでした。svnsync を実行しようとすると、引き続き Failed to get lock エラーが表示されます。ソース リポジトリとミラー リポジトリの両方で svn:svn-lock revprop を削除しました。
誰でもこれを理解するのを手伝ってもらえますか? (どんな助けでも大歓迎です)
ありがとう!
svn - SVN サーバー間の同期
現在 Linux でホストされている SVN サーバーの削除が保留中です。そこで、フル ダンプを実行し、新しくインストールした VisualSVN サーバーにインポート/ロードして、ローカルの Windows PC にバックアップを作成しました。に達したとしましょうrevision 101
。
ユニットが廃止されていないため、さらに数日が経過し、Linux SVN でコミットしました。最新のリビジョン (例: 102~110
) をローカルの VisualSVN サーバーと同期する手順は?
私はまだSVN管理の初心者です。
svn - 2つのリポジトリ間で履歴を持つSVN Moveコード
2 つのリポジトリで作業する必要があり、リビジョン履歴を保持しながら、2 つの間でコードを含む 1 つのディレクトリを移動したいと考えています。
ここSOでいくつかの質問を読みましたが、どちらに進むべきかまだわかりません。すべてがチェックインされているため(コード+デザインデータ+ ...)、リポジトリは巨大です(リビジョンを含まないファイル(orkingcopy)>数GB)。
これまでに見た解決策は次のとおりです。
- svnadmin ダンプ + フィルター + インポート:リポジトリのサイズのためオプションではありません
- svnsync:すでに 2 番目のリポジトリにデータがあります (リポジトリはすでに巨大です。それらをマージするのは良い考えではないと思います。それは私の仕事ではないと判断しています)。空の。
- サードパーティのソリューション:「別のプロセスがファイルを開いた」ためにファイルを削除できないため、繰り返しクラッシュします(ただし、OSを介してファイルを削除でき、スクリプトによって作成されます)
これに対する他の解決策、アプローチはありますか、または解決策の1つについて何か不足していますか?
svn - svnsync での大きなファイルの処理
シドニーの別のオフィスに SVN ミラー リポジトリを配置する予定です。両方の場所で VisualSVN サーバー v2.5.7 を使用します。
私svnsync
はそれを行うために使用することにしました。最初は、すべてのリポジトリを同期したかったのですが、それらすべてがミラー リポジトリと同期されると、スケジューラがsvnsync
毎晩深夜に呼び出されます。
リポジトリの 1 つの 167 のリビジョンを同期できます。しかし、第 168 リビジョンには、同期できない大きなファイル (圧縮された約 250 MB のオラクル ファイル) があります。ローカル サーバーとリモート サーバーの両方のタイムアウトを変更しましたが、機能しません。ある時点で約1時間固執し、次のエラーが表示されます。
ファイルデータの送信 .........................svnsync: E175002: PUT of '/ {some path} /{ bigfile }.zip': リクエストを送信できませんでしたbody: 確立された接続が、ホスト マシンのソフトウェアによって中止されました。<{対象URL }>
httpd-custom.conf
VisualSVN(ローカル、ミラー)のApacheサーバーのファイルで行った変更は次のとおりです。
タイムアウトを 600000 以上に増やしましたが、結果は同じでした。両方のサーバーを http モードで起動しました。ローカル ネットワークでは、20 分でそのすべてのリポジトリを同期できます。
当方のインターネット回線のアップロード速度は約256Kbsですが、今回はインターネット環境では期待できません。しかし、これらのサイズのファイルを CollabNet サーバーを使用する他の SVN サーバーに簡単にコミットできるため、設定したタイムアウトまで SVN サーバーを待機させたいと考えています。正常にコミットされるまでに 2 時間しかかかりません。300000 秒のタイムアウトは 2 時間にはほど遠いと思います。