ローカルで変更された外部svnリポジトリのコピーを維持する方法
-
22-07-2019 - |
質問
いくつかのパッチを適用した外部svnリポジトリをチェックアウトしました。
(パッチの適用は、競合のため手動でのみ行うことができます。)
今、このリモートリポジトリのローカルコピーを適切な方法で維持できるようにしたい。
(リモートリポジトリで読み取る以外のアクセス権はありません。)
まず、パッチの適用には手動の手順が含まれていたため、何らかのソース管理システムでローカルの変更をチェックインできるようにする必要があります。
2番目に、リモートリポジトリから更新を受信できるようにします。
これを達成する最良の方法は何ですか?
他のヒント
これを行う従来の方法は、コードのエクスポートされたバージョンを取得し、独自のリポジトリにチェックインすることです。コードに更新がある場合は、それらをリポジトリにマージします。巧妙な分岐(ベンダーブランチの検索)により、マージを支援できます。チェックインしたエクスポートされたコードのバージョンに従って、リポジトリ内のコードにタグを付けます。
svnsyncを使用すると、svnリポジトリのコピーを保持できますが、ローカルコピーを変更した瞬間から同期を続行できません。
最終的な日々の作業にgitを使用することをお勧めします。 svnリポジトリのローカル作業コピーを保持し、gitの制御下に置きます。それがgit masterです。そのリポジトリを別の場所にコピーし、ブランチマスターを作成してそこで作業を行い、パッチをブランチに直接適用します。
svn wcを定期的に更新し、マスターとしてgitリポジトリにプルします。次に、マスターとブランチをマージします。
紛らわしいのは、「2人のgitユーザー」がいることです。1つはローカルsvnリポジトリの作業コピーで、もう1つはパッチを適用したブランチです。