私は応用数学者であり、最近、科学的応用のための生産コードの開発を含むプロジェクトに参加しました。コードベースは小さくなく、Webアプリケーションの一部としてデプロイされます。
私が参加したとき、コードはリビジョン管理システムなしで奇跡的に維持されました。サーバーには中央フォルダーがあり、研究者はコードを操作する必要があるときにそこからコピーしていました。このルートディレクトリ内には、コードのバージョンが異なる一連のディレクトリがあったため、人々は見つけた最新バージョンで作業を開始し、変更を加えて新しいバージョンを作成しました。
Mercurialリポジトリを作成し、それにすべてのコードバージョンを追加して、すべての人にそれを使用するように説得しました。ただし、Mercurialに移行して以来、バージョン番号をアップグレードする必要性はほとんど感じられませんでした。厳しい使用でも、hg copy
改訂履歴を保持することができます。
ここで、このコードベースを維持するためのベストプラクティスに関するアドバイスが必要です。RCSの下で、異なるバージョンのフォルダーをリポジトリに保持することは意味がありますか?コードの単一のコピーをリポジトリに保持する場合、バージョンを追跡する最も一般的な方法は何ですか?READMEファイル?バージョンを指定するリポジトリの外部にコードのスナップショットを保持する必要がありますか?物事をそのままにしておくのは理にかなっていますか?どのような戦略を使用していますか?
私たちのチームはたくさんの科学者であり、そのようなレポを維持する方法については誰も経験がないので、私は一般的に行われていることに興味があります。