SVNは混乱をインポートし、トランクには何もありません
-
29-09-2019 - |
質問
私は見た トランクなしで既存のSVNリポジトリでトランクディレクトリを作成する方法とすべてを移動する方法, 、そしてそれは適用されるかもしれませんが、私は「トランク」を持っていますが、開発者であるシニアの開発者がSVNレポスにプロジェクトをインポートした方法は、レビューに値する違いをもたらすかもしれません。
ログを見て、開発者がSVNツリーをローカルに作成したように見えます。 trunk/branches/tags
ディレクトリは、すべてのファイルを作成しました branches
ディレクトリ、次に初期インポートで svn
, 、枝の一部としてコミットされたトランクとタグ。
これは、支店へのコピーの履歴がないことを意味します。忠実に近いログは次のとおりです。
% cd work
% mkdir -p project/trunk project/branches project/tags
% cd project/branches
... begin a bunch of work on a java service v1.0
... happy lets import to svn
% cd ..
% pwd project
% svn import -m"Initial import"
A branches
A branches/file-n
A branches/file-n ...
A tags
A trunk
Sending...
Committed rn
% svn mv $repos/project $repos/project_name
...
Committed rn
それで svn merge
ここでは実際には機能しません。 trunk
最初のコミットの一部であり、歴史は実際にクリーンなマージを許可していません。
コピーを使用して提案をコミットできますか その上?または、この場合に必要な別の方法はありますか?
解決
私はここでいくつかのことを組み合わせて解決しました。
最終的に、組織のビルドプロセスには動きが機能しなかったでしょう。これにより、枝の歴史はトランクの履歴を保持していましたが、枝を空にしたままにしました。私たちのビルドはそれを好まなかったでしょう。
代わりに、ファイルをトランクディレクトリにコピーしました。 .svn
もちろん、ディレクトリ、via svn export
そして彼らをコミットしました。
今、あなたはちょうど歴史を失ったと言うかもしれません。私はそれについてよくわかりません。枝の歴史はまだそこにあり、トランクから新しい枝が作成されました。以前のブランチはアクティブのままであり、廃止される可能性があります。
フィードバック歓迎。