古いコードをリポジトリに追加する必要がありますか?


8

PHPサイトのSVNリポジトリがあり、最後のプログラマーはソース管理を適切に使用していません。その結果、私がここで作業を開始してからのコードのみがリポジトリにあります。

「バックアップ」としてファイルに保存された完全なコードベースの古いコピーがたくさんありますが、それらはソース管理されていません。ほとんどのコピーが保存された理由がわかりません。また、バージョン番号にタグを付ける合理的な方法もありません。私が行うすべてのバックアップが適切なファイルシステムのタイムスタンプを持って、バックアップが行われた日付を持っています。

関連するフレームワークとデータベースドライバーのアップグレードにより、古いコードは完全に機能しなくなります。現在のサーバー構成では機能しません。ただし、以前のプログラマーには独自のロジックがあったため、私は完全に古いコピーがないので、彼らが何をしていたのかを参照することはできません。

バージョン管理でこれを保持する必要がありますか?どうやって?古いコードを別のタグ/ブランチに分けますか?


現在、ソース管理に現在のコードベースの完全なコピーがありますか?
ジョシュアドレイク

@JoshuaDrakeそうです、現在のレポは私が必要とするすべての完全な作業用コピーです。歴史的なものを除いて、私が「欠けている」ものは何もありませんが、プログラムの多くの部分に大幅な変更を加えました。
Ben Brocka

回答:


10

これらの作業バージョンのそれぞれに適切なタイムスタンプがある場合は、コードベースの最新バージョンである最新の変更に到達するまで、一度に1つずつチェックインできます。

他の誰もが示唆するようなタグアプローチの問題は、各ファイルの変更セットの履歴が失われ、これにより古いバージョンのコード間の比較がより困難になることです。


それらを変更履歴に入れられるかどうか疑問に思っていました。変更された日付は、古いコピーでは正確に見えます。
Ben Brocka

2
@BenBrockaもちろん可能です。コードベースの最も古いコピーを新しいブランチにチェックインすることから始めます。subversionディレクトリ以外の作業コピーをすべて削除し、次に古いコピーを作業フォルダーにコピーします。変更を確認します。新しいファイル、更新、削除がすべて表示されます。チェックイン。リンス。上品なつやのある髪になるまで繰り返します。
maple_shaft

2
注:これを行うと、以前のバージョンの履歴のタイムスタンプが失われますが、これらの日付は、履歴の好奇心以外にはおそらくあまり役​​に立ちません。各ファイルの順次変更セット履歴は、はるかに価値があります。
maple_shaft

1
とにかく、過去のタイムスタンプを保持する方法はありませんよね?それらは最も古いリビジョンとして表示されますか?
Ben Brocka

2
もちろん、タイムスタンプを保持できます。スタンドアロンシステムを考えると(例えば、ラップトップ、PCのデスクトップには)、ちょうどSVNにチェックインする前に、バックアップのタイムスタンプにあなたの時計を設定します。
ロスパターソン

8

「レガシー」のような別のディレクトリを使用して、必要なものをすべて1つの場所に配置します。


+1異なるバージョンがどのように関連し、保存され、作業コピーを進めるかを文書化します。
JustinDoesWork 2012

2

個人的には。おそらくあなたが言ったように、それらをすべてタグで分離しておく必要があります。ファイルが最後に編集された日付を使用して、一般的な順序を把握できる場合があります。

それをSVNに入れると、歴史を示すのにちょうどいいでしょう。ファイルの履歴を確認できる奇妙なスニペットが含まれている場合は、必要になるようです。言うまでもなく、プロジェクトのすべての(既知の)履歴が1か所にあります。重要なことを見逃しているかもしれませんが、実際にはそうしない理由を考えることはできません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.