2009-05-29 8 views
2

誰かがセットアップソースコントロールを言ったので、5分かかります。それは年齢を取っている、それは尻尾の厄介なと痛みだ!ワークフローを取得できません。svnリポジトリパスをサーバパスに設定する方法は?

とにかく私はsvnをserver1にインストールしました。 Server1は、既存のソースコードとプロジェクトをすべて保存するためにも使用されます。これらのソースコードは、現在server1のそれぞれのリポジトリに追加されています。 Visual Studio(VisualSVN)のサーバー1で作業コピープロジェクトを開くと、reposへのファイルパスはfile:/// d:/ fooです。コミットすると、file:/// d:/ fooが見つかりませんというエラーメッセージが表示されます。これは、マシン上ではなくサーバー上にあるためです。

どのようにしてfile:// \ server/d $/fooをポイントしますか?私は

のsvnを試してみました

は--relocateファイルを切り替える:/// D:/ fooのファイル:// \サーバー/ Dの$/fooの

ワークフロー機能しません私の頭を丸くすることができない部分はこれです。クラスプロジェクトの作業コピーをチェックアウトしてコンパイルすると新しいdllを私の作業コピーからプロダクションに移動しますか?または、dllをソース管理に戻してチェックし、それをソース管理から本番運用に移動しますか?複数のプロジェクトでDLLが使用されている場合は、すべてのプロジェクトが参照するフォルダにソース管理から取り出すか、それをすべてのプロジェクトのbinフォルダにコピーしますか?頭痛

EDIT: はあなたのすべての入力をありがとう、私はこの1つで辛抱します!

+1

リポジトリはどのように配信されますか?それはServer1上のローカルリポジトリですか?あなたは作業コピーをどこでチェックアウトしましたか:ネットワーク上で現在使用しようとしているServer1のローカルチェックアウト(つまり、同じ作業コピーで作業している開発者はすべて間違っています:すべての開発者はそれぞれ独自の作業コピー)、それとも各開発者のマシンにチェックアウトされていますか? ワークフローや他のSVNの事柄については、ここで詳しく説明しています。http://svnbook.red-bean.com/en/1.5/index.html – Steef

答えて

6

はい、ソースコントロールはセットアップに数分しかかかりませんが、動作の仕組みを理解することが重要です。

これに答えるには、ソース管理がどのように機能し、どのように期待したらよいかを説明するのが最善の方法でしょう。

書籍http://svnbook.red-bean.com/(オンラインで直接読むことができます)は、どのように機能するかについての素晴らしい説明があります。最初の2つの章は、基本を把握するために実際に見なければならないすべてのものです。

本の基本的な概要を理解したら、実装が間違っている箇所が明白になるはずです。

+3

svnbookを読むことを強くお勧めします。 – crashmstr

1

ファイル名://方式を使用しているときにネットワークベースのリポジトリを使用できるように、UNC名を使用することが考えられます。レポホスティングマシンにはSVNサーバーが必要です。これは、file://スキームを使用して連絡されません。

コンパイルされた出力のチェックに関しては、要するに、しないでください。 Subversionに含まれるものは、最初から各クライアントによって構築可能でなければなりません。コンパイルされたバイナリは、(おそらく)第三者から来てビルドに不可欠でない限り、Subversionリポジトリには存在しません。

"複数のプロジェクトでDLLが使用されている場合、すべてのプロジェクトが参照するフォルダにソースコントロールから取り出したり、すべてのプロジェクトのbinフォルダにコピーしますか?"答えはありません。ごめんなさい。

1

SVNブックは、あなたががファイルを使用していないことをお勧めしますすべてのユーザーを持つシンプルなアイデアに誘惑されないでください

:複数のユーザー

Choosing a Server Configuration用//プロトコルをfile:// URLを介してリポジトリに直接アクセスします。リポジトリがネットワーク共有を介して誰でも簡単に利用できる場合でも、これは悪い考えです。ユーザとリポジトリの間の保護層を削除します。ユーザは誤って(または意図的に)リポジトリデータベースを破損させる可能性があります。検査やアップグレードのためにリポジトリをオフラインにすることが難しくなります。 「複数のリポジトリ・アクセス方式のサポート」を参照してください)。これは、セキュリティ上の観点からsvn + ssh:// URLを介してリポジトリにアクセスすることを警告する理由の1つであり、file://経由でアクセスするローカルユーザと事実上同じです。そこに

ハング:管理者が慎重

1

ニックはない場合。ソースコード管理を放棄しないでください!あなたが今乗っている学習曲線は、スペードの下で恩返しをするつもりです。

Re:ワークフローの問題では、ソフトウェアをどのように構築するのかという疑問に遭遇しています。ここでは多くの方法論を使用できますが、基本はこれです。あなたのアプリケーションをコンパイルするときは、成果物(.exe、.dllsなど)がsv​​n:ignore(Tortoiseでは "add to ignore list"と書かれています)とマークされていることを確認してください。それはSVNがあなたのビルドをチェックインしないようにします。膨大なスペースを必要とするため、ビルド成果物を開発者のコ​​ピーからチェックインしたくない場合は、多くの競合が発生します。

あなたはオプションのカップルを持っているが、私はあなたが私に言ってきたものに基づいてワークフローのための提案を行います:

は、ソースコントロールの外にあなたのDLLを構築します。 SVNでは、あなたの "リリースされた"コードのためのディレクトリを設定します - 私のために、それは私のプロジェクトの下に "リリース"と呼ばれるディレクトリです。次に、あなたのDLLがテストされ、検証されたら、バージョン番号を与え、あなたの「リリース」セクションにチェックインしてください。開発者に、使用できる共有DLLの新しいバージョンがあることを伝え、変更内容を知らせてください。 DLLを自由にプルダウンして、コードに組み込むことができます。

あなたがSVNに慣れたら(それは起こります!)、あなたのネットワーク上に座っているSVNを監視するHudsonやCruiseControl.NETのようなものを使うことができます。変更を検出すると、指定した方法に従ってソフトウェアが自動的に構築されます。これは、このすべてをビジネスのまわりで完全に自動化します。 CCNETがなくても、nAntまたはMSBuild(個人的にはMSBuildを使用)を使用してビルドファイルを作成することができます。これは、選択した方法論に従ってこのコピーをすべて行います。したがって、すべてを行う必要はありません。このマニュアルは、ビルドを行うたびに必要なものです。

関連する問題