問題タブ [version-control-migration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
svn - リポジトリをVaultからSubversionに移行するためのツールはありますか?
SourcegearのVaultからSubversionへの移行を容易にするツールはありますか?
私は本当に既存のツールまたはプロジェクトを好みます(私が購入します!)。
要件:
- 1回限りの移行のみ
- コメント付きの完全な履歴
オプション:
- ラベル/ブランチ/タグの一部のサポート
- 比較的スピーディー。数時間かかることもありますが、数日かかることはありません。
- 可能な場合の費用
このプロセスに関連する個人的な経験を共有できる場合は、ボーナスポイント。
これを実行したい理由の1つは、VaultとSubversionの間に多くのプロジェクトが分散しているためです(最終的にsourcesafeから離れています)。状況によっては、特定の顧客のリポジトリをSVNに統合できると便利です。
さらに、SVNはサードパーティツール間でより適切にサポートされています。たとえば、HudsonとRedmine。
繰り返しになりますが、私たちはボールトを完全に放棄しているわけではありません。
tfs - VSS サーバーから Team Foundation Server にデータを移行する
昨日、 Migrate to TFSという質問をしたところ、非常に役立ついくつかの非常に優れたツールについて回答がありました。jwanagelに感謝します。しかし、VSS サーバーと TFS サーバーは 2 つの異なるマシンであることを忘れていました。そして、両方とも別の場所にいる場合は、別の道を歩む必要があるようです。
別のマシンにある Visual SourceSafe データベースを別のマシンにある TFS サーバーに移行するには、どうすればよいですか?
ありがとう。
svn - MercurialからSubversionへの移行
重複の可能性:
MercurialからSubversionへの変換
やあ。
Mercurialリポジトリを新しいSubversionリポジトリに移行する比較的簡単な方法を知っている人はいますか?
ありがとうございました。
svn - Subversion には VSS のリンクに類似したものがありますか?
Visual SourceSafe コード リポジトリを Subversion に移行していますが、問題が発生しています。
以下は、現在のソース コード ツリー (VSS 内) の簡略化されたレイアウトです。
私の問題は、2 つのarch_
フォルダーにあります。各arch_
フォルダーは異なるハードウェア アーキテクチャ用に構築されますが、2 つのフォルダーの内容は実質的に同じです。のファイルは、少数の例外を除いて、arch_2
単に のファイルへの VSS リンクです。arch_1
通常、作業はarch_1
フォルダーにチェックインおよびチェックアウトされ、VSS リンクにより、ここでチェックインされたコードがarch_2
フォルダー内でも更新されます。
Subversion に移行しますが、VSS のリンクのように動作するものはありますか? つまり、2 つのファイルを別々のフォルダーに魔法のように関連付けて、常に同期されるようにする方法はありますか (一方を変更すると、もう一方も影響を受けます)。
注:ここでの正解は、ビルド システムを修正することです。このプロジェクトのビルド システムは、約 10 年前にまとめられました。当時は、コンパイラ/ビルド システムが、2 つの異なるアーキテクチャのソース コードでいっぱいの同じフォルダーをコンパイルするほどインテリジェントではありませんでした。および更新されたコンパイラのおかげでmake
、ビルド システムを書き直して、2 つの並列ソース フォルダーへの依存関係を排除できます。ただし、これには現時点では時間がかかります (VSS サーバーへのライセンスが失われ、かなり短い通知で移行を余儀なくされています)。この問題に対する Subversion の解決策を見つけたいと思っています。なぜなら、現時点では、ビルド システムを書き直すよりも、移行をスムーズに実行することに時間を費やすほうがはるかによいからです (これは、私のやることリストの次です!)。
ご協力ありがとうございました!
明確化:以前に外部定義の使用を調べたことがありますが、ディレクトリ レベルでしか使用できないことがわかります。一部のディレクトリには、共有/リンクされたファイルとリンクされていないアーキテクチャ固有のファイルが混在しているため、ファイルレベルで動作するものを探しています。
version-control - SourceGear Fortress1.1.xからTFS2010に移行するにはどうすればよいですか?
私はこの質問を見つけましたが、それは似ていて、さらに重要なことに、1年以上前のものでした。私はそこに私が見つけることができない何かがあることを望んでいます、そしてそれはその答えが指し示すものよりも優れています。
要件:
- ソースコードの履歴を保持します(以前のユーザーのすべてがTFSリポジトリに作成されていない可能性があるため、テキストを介してのみ大まかにでも)
- アイテムの追跡履歴を保存します(これも、要塞がそれほど優れていなかったため、大まかにでも)。最終的には、過去に行ったこととその理由について、検索可能な履歴が必要です。作業項目をソースコードなどに結び付けるために、必ずしもすべてのフックを配置する必要はありませんが、作業項目に関連する議論と決定を維持する必要があります。
svn - ワイルドカードでSVNを削除しますか?
VSS リポジトリを SVN に移行していますが、最初のチェックインで誤ってすべての _vti_cnf、*.scc ファイルを含めてしまいました。これらをSVNから削除したいと思います。(もちろん、永続的ではありません - HEAD だけです)。問題のアプリケーションは非常に大きく、フォルダーごとにこれらのファイルを見つけて削除するには、非常に時間がかかります。
提案?これを行う明確な方法があるに違いありませんが、週末が近いことが私の高次脳機能を妨げています。
version-control-migration - バージョン管理を使用する場合の Web 開発ファイルの構造
Web アプリケーションにバージョン管理 (Mercurial) を使用する予定です。まずはノートパソコンで試してみます。フォルダを再構築して、すべてを同じリポジトリに配置する必要があると思います。
私は PHP フレームワーク (Kohana 3) を使用しているため、現在のフォルダー構造は次のとおりです。
これを機能させる最善の方法はよくわかりませんが、同じリポジトリ (css、js、および php) 内のすべてのファイルを参照できればよいと考えていました。それを行うには、ファイルをどのように構成すればよいですか? そして、他の可能な構造をオンラインで見ると、このトランク、タグ、ブランチのものは何ですか?
ありがとう。
version-control - CS-RCSからMercurialへの移行
私は、ComponentSoftwareのCS-RCS Basicを長年使用して、さまざまな単一開発者プロジェクトを管理してきました。それは私にとっては非常にうまくいきましたが、今は最新のリビジョン管理システムに移行したいと思っています。オプションを検討した後、Mercurialを選択しました。
問題は、私が常にCS-RCSの中央リポジトリを使用していたことです。現在、RCSリポジトリの履歴を保持しながら、個々のプロジェクトに個別のMercurialリポジトリを使用したいと考えています。
いくつかの詳細なグーグルの後、これを行う唯一の方法は、RCSリポジトリを個々のCVSリポジトリに変換してから、それらをMercurialに変換することであると結論付けました。これらの2つのサイトはおそらく最も役に立ちました:
ジェフ・アトウッドが自分の質問をして答えるという考えに沿って、この状況で立ち往生している他の人のために、そして後でまた見つけなければならない場合に備えて、これに答えるつもりです。ご覧のとおり、私は解決策を見つけましたが、それは不格好で、少なくとも1つの重大な問題があります。他の誰かがもっと良い方法を持っているなら、私は確かにそれについて聞きたいです。
svn - 多くの CVS モジュールを単一の SVN リポジトリに変換する
少数のモジュールのみを単一の Subversion リポジトリに変換しようとしているかなり大きな CVS リポジトリがあります。変換にcvs2svnを使用するように正しくガイドされており、独自のオプション ファイルを作成することさえできました。タグや枝を残す必要はありませんが、改訂履歴は残しておきたいです。私の問題は、svn/module1/trunk と svn/module2/trunk ではなく、svn/trunk/module1 と svn/trunk/module2 など、単一のトランク フォルダーの下にモジュールを配置することです。パスを何も設定しないと、パスが空白であるというエラーがスローされます。助言がありますか?
git - このシナリオでGitと共有コードを処理する方法は?
現在、バージョン管理を(CVSNTから)Gitに切り替えようとしています。驚いたことに、私が問題を抱えていたのは、ステージングエリアの分散性や概念ではありませんでした。しかし、分岐、マージ、タグ付けなどのAFAICT操作は、ファイルやディレクトリレベルではなく、常にリポジトリレベルで適用されるという事実に頭を悩ませています...
さまざまなプロジェクトで多くのコードを再利用しています。私の作業エリアは現在次のようになっています。
ここで、Project1がLibAとLibBに依存し、Project2がLibBとLibCに依存し、Project3にlibの依存関係がないとします。これらのライブラリの一部は後でDLL(またはBPL-私たちの主要な開発環境はDelphi)にコンパイルされ、その他はファイルごとにメインプロジェクトに含まれる再利用可能なコードの単なるコレクションです。
WebDevには、Project1、2、3に関する情報も含まれているため、それらと一緒にタグ付けする必要がある場合がある、当社の(ほとんど静的な)会社のWebサイトのコードが含まれています。
プロジェクトを頻繁に切り替えるので、通常はこれらすべてを同時にチェックアウトし、必要に応じてlibディレクトリを適切なプロジェクトブランチにオンザフライで更新します。
これをGitでどのようにモデル化するのでしょうか。また、この作業方法に固執するのも理にかなっていますか?私はgitサブモジュールについて読んだことがありますが、これまでのところ、いくつかの理由で、ここでそれをどのように適用するかがわかりません。
私が理解している限り、サブモジュールは常にそれぞれの「スーパープロジェクト」内でチェックアウトされます。ただし、Delphiを使用して(設計時の)ライブラリコードの複数のコピーを管理することは、ロイヤルPITAであることがわかりました。これが、すべてのライブラリを個々のプロジェクトツリーの外部の共通ディレクトリに保持する理由の1つです。追加のコピーはビルド自動化によってのみチェックアウトされ、実際の作業を行うためにチェックアウトされることはありません。
ライブラリをプロジェクトから「独立」させたくありません。プロジェクトの1つにタグを付けたり分岐したりする場合は、常にそれぞれのライブラリにもタグを付けたり分岐したりします。メインプロジェクトの特定のタグ付きリビジョンに戻りたい場合は、ライブラリもその状態に戻したいと思います。可能であれば、タグ付け/分岐/チェックアウトは、プロジェクトとその依存関係に対して常に1つのステップで実行する必要があります。
私はすでにすべてを単一のGitリポジトリに入れようとしましたが、ライブラリコードは主にマスターブランチで管理され、「プロジェクト」はそれぞれ独自のブランチで管理されていますが、マスターブランチとプロジェクトブランチの間でライブラリの変更をマージしようとすると、プルされます無関係なライブラリからのすべてのファイルでも、これは私がまったく望んでいないことです...
これらすべてを解決するための最善の方法について何かアイデアはありますか?作業ツリーの新しいレイアウトを含め、ほとんどすべての提案を受け入れています。
誰かが私にサブモジュール(またはこれを達成するために必要な他のテクニック)についての実際の実践的なチュートリアルを教えてくれるなら、それも素晴らしいでしょう。