5

私はSubversionの完全な初心者ですが、SourceSafeの恐ろしい影を乗り越えようとしています。だから私は学んでいて、何が何であるかを自分自身に教えようとしています、そして私はまだ完全に理解していないいくつかの障害に遭遇しました。

SVN 1.7.3は、ローカルのLinuxボックスで稼働しています。AnkhSVNは、私のVS2010セットアップ内にインストールされています。VS/AnkhSVNは私のリポジトリと通信できます。そこで、私はいくつかの非常に単純なコンソールプロジェクトの実験を開始しました。これまでに見つけたガイダンスで提案されているように、トランク、ブランチ、およびタグのディレクトリを作成しました。

新しいコンソールソリューションを作成し、Ankhがリポジトリ内の推奨される「トランク」フォルダーの下にそのプロジェクトを作成できるようにしました。Program.csに「Hello、World」行だけを追加した後、変更をトランクにコミットします。それはうまくいきます...これまでのところ、とても良いです...

プライベートブランチで作業しているふりをしたいので、「トランク」と「ヘッド/最新」バージョンから「Subversion」->「BranchProject ...」を選択し、「作成後にブランチに切り替える」をチェックします。それはうまくいくようです。

問題1。

今ここで物事は危険にさらされます。プライベートブランチのプロジェクトに単一のソースファイルを追加してファイルを追加することにしましたが、ファイルをプライベートブランチからトランクに移動できません。マージ/再統合は機能しません。更新が機能しません。スイッチが機能しません。ブランチからトランクへの切り替えを試みた後、VSは、プロジェクトファイルが破損していて、ロードできないことを通知します。

明らかに、私はひどく間違ったことをしました、しかし私は何を知りません。トランクの作業コピーを取得してからマージする必要があるようですが、VSプロジェクトフォルダーのセットアップでそれを行うにはどうすればよいですか?

問題2

私の次の問題、または問題1の一部である可能性のある質問は、Subversionで管理されたプロジェクトをVisualStudio側でどのように構成する必要があるかを理解することです。Unix側では、プロジェクトをローカルフォルダーにプルできることは明らかですが、VSプロジェクトの一般的なディレクトリ構造がSubversionによってどのように影響を受けるかはまったくわかりません。トランクフォルダーとブランチフォルダーをローカルのVisualStudioボックスにも複製する必要がありますか?トランクからプライベートブランチに(またはその逆に)「切り替える」場合、対応するファイルを同じVSフォルダーのセットに入れるか、ブランチとトランクに対応するセットがあるかを指定します。 ?

問題3 これはSVNの初心者向けの質問ですが、SVNから競合があると言われた場合、それらを解決する方法がまだわかりません。ankhSVNプラグインには競合を解決するための特別なツールがありますか、それとも完全なsvnツールを使用してホストサーバーでそれらを修正する必要がありますか?もしそうなら、解決すべき「最も典型的な」種類の対立は何ですか?

4

2 に答える 2

2
  1. ファイルを追加してコミットしましたか?

  2. ここの例に示すように、switchを使用して同じフォルダーを保持することも、トランクとブランチ用に2つの別々のフォルダーを作成することもできます。それはあなたとあなたのプロジェクトのために働くもの次第です。プロジェクトが機能するために特定のパス(たとえば、Webサービス)にある必要がある場合は、switchを使用する方がよい場合があります。

  3. 残念ながら、目の前にAnkhはありませんが、Ankhに組み込まれているツールを使用して競合を編集または解決できるはずですが、サードパーティのツールを使用するように構成を変更することもできます。ここのドキュメント。

于 2012-04-20T07:15:37.607 に答える
2

最初に行うこと: Subversionを使用したバージョン管理の少なくとも最初の2つの章を読み、例を試してみてください。後者を行うには、 SlikSVNなどのコマンドラインクライアントを使用することをお勧めします。

AnkhSVNだけでは、SVNクライアントには不十分です。これは、SVNをVSに統合するための便利なツールにすぎません。したがって、GUIクライアントを使用する場合(コマンドラインクライアントに加えて、そのIMHOはいずれの場合も必須です)、Windowsで最も人気のあるものはTortoiseSVNです。

(積極的に)Subversionを使用したバージョン管理を読むと、現在のすべての質問に役立ちますが、最初の考えは次のとおりです。

問題1ブランチをコミットしましたか?あなたは実行することによって確認することができますsvn info [repo_url]/branches/[your_branch]

問題2あなたの側にはいくつかの誤解があるようです。SVNはファイルをローカルで「プル」(用語は「チェックアウト」)します。本を読む!!!

一般に、SVN構造はフォルダー構造を反映する必要があり、その逆はありません。また、通常、一度に1つのブランチのみを操作し、1つのブランチのみをチェックアウトします。別のブランチで作業する必要がある場合は、「svnswitch」を実行します。スペースを節約します。もちろん、リポジトリルートから始めてすべてのリポジトリをチェックアウトできますが、なぜそうするのでしょうか。(私はそのような状況を考えることができますが、彼らは通常のワークフローよりもリポジトリのメンテナンスに関心があります)。

問題3の対立-あなたが本を読むまで話す価値さえありません。

これがあなたを正しい方向に向けることを願っています。この本の最初の2つの章を読むと、数時間から数日かかるはずです。

于 2012-04-20T07:25:27.477 に答える