長年、私は簡単な方法でプログラミングを行ってきました。言語とプロジェクト別に整理されたディレクトリにソースファイルを保存し、ときどき手動バックアップを作成します。賢い場合は、新しいバージョンを試す前にコピーを作成します。 ; それはほとんどそれです。
最近、リビジョン管理の使用を開始することにしました。たくさんの記事やページを調べて、かなりの数の異なるものを試した後、私は最終的にSubversionに落ち着きました(BASEのためにプロジェクトのサイズが2倍になったとしても)。
私は今、有用な情報を見つけることができないように思われるいくつかの側面についていくつかのアドバイスが必要です。まず、RCSを使用する基本的なプロセスが正しいことを確認しています。
- すべてのプロジェクトをSVNリポジトリにインポートします
- オリジナルを削除する
- リポジトリからプロジェクトをチェックアウトする
- それに取り組みます
- コミットする
それでおしまい?では、新しいプロジェクトはどうですか?フォルダに新しいプロジェクトを作成してからインポートする必要がありますか?
ディレクトリ構造にも問題がありますが、最初に、セットアップをレイアウトする必要があります。私は自宅のマシンで作業している単一の開発者です。データディレクトリには、次のようなレイアウトがあります。
X:\ Data \ H \ 3rdParty \ Graphics \コントロール \ ThisControl \ ThatControl \ライブラリ \クラス \ CFoo \ CBar \ VC \大 \ CoolApp \ res \小さい \ CoolerApp \ res \ misc \テスト \ CFooTest
…等々。
IDEのインクルードパスに、頻繁に使用するヘッダーディレクトリがいくつかあります(たとえば、 3rdParty \ Graphics、Classes \ CFooなど)。以前は依存関係に問題がありましたが、RCSを使用すると、さらに悪化します。たとえば、CoolAppにはThisControlとCFooが含まれる場合があります。以前は、 CoolAppの作業中にCFooを変更して壊した場合、CoolerAppのようにCFooを使用する他のアプリも壊れてしまうため、これは理想的とは言えませんでした。
CFooらをコピーする代わりにこのようにした理由。al。CoolAppや他のディレクトリへのアクセスは、各コピーからの更新を\Hフォルダのメインコピーにマージしようとする手間が原因です。
正式なRCSを使えば、このような問題は解消されると思いました。ただし、プロジェクトを\ VC \ CoolAppなどからSVNリポジトリにインポートすると、 CFoo、* Libraries \ **などのコンポーネントは外部ディレクトリにあるため、含まれません。したがって、バージョン管理されていないため、ポイント全体が無効になります。
このような状況に対処するためのヒントを探しています。たとえば、\ HにCWidgetがあり、 \ VCにWidgetTest ( CWidgetを含むテストコンテナ)がある場合、 WidgetTestとCWidgetの両方がバージョン管理されるように構造化すると同時に、可能な限り単純化する方法を教えてください。 CWidgetを使用して最新バージョンを含めて使用する他のアプリはありますか?
また、すべてのプロジェクトを同じリポジトリディレクトリにインポートすることしかできず、Big \、Small \、Test\などの構造が失われました。それを維持するためにSubversionを取得することはできません。
最後に、元のプロジェクトディレクトリはどうなりますか?リポジトリにインポートすると削除できるという記事を少なくとも1つ見ました。もしそうなら、私はおそらくそれらを圧縮して片付けます。
ああ、私は現在、ApacheサーバーでSubversionをセットアップしており、VisualSVN、SVNServe、およびCollabNetSVNサーバーをインストールしています。私はそれぞれを動作させるようになりましたが、必要なのは1つだけだと確信しているので、どちらを使用するかについてアドバイスをお願いします。
どうもありがとうございます。