問題タブ [dvcs]
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.
mercurial - DVCS と Visual Source Safe を組み合わせる
仕事で Visual Source Safe 2005 を使わざるを得ません。これを DVCS と組み合わせて、バグがある場合やコンパイルできない場合に同僚を混乱させることなくローカルでファイルをチェックインできるようにしたいと考えています。
私の Mercurial での試みでは動作しますが、奇妙な問題がいくつか発生します。つまり、私がチェックアウトしたファイルを他の誰かがチェックアウトしたと考えます。
これをどのように管理すべきかについての私の考えは次のとおりです。
- 自動チェックアウトを無効にします。
- Mercurial でローカルに作業する
- 変更をプッシュする準備ができたら...
- Mercurial リポジトリのクローンを作成します。
- Visual Source Safe リポジトリを更新する
- Mercurial を使用して、2 つのリポジトリをプルしてマージします。
- すべてを Visual Source Safe にチェックインします。
これは合理的に聞こえますか?私はいつも VSS について良くないことを耳にします。これは、それらの問題を直接確認するように求めているだけですか?
svn - SVN から ... に移行しますか?
私は現在、Subversion リポジトリを「使用」しているチームで働いています。私が「使用する」と言ったのは、実際には誰もが samba 共有を介してサーバー上でファイルを直接編集しているだけであり、アーキテクトがそのサーバーから私たちの変更をコミットし、それがサーバーにプッシュされることがあるからです。
したがって、基本的に、さまざまなユーザーから意味のあるコミット メッセージを受け取ることができず、好きなだけコミットすることができません。
私は分散システムについていくらか興味を起こさせようとしてきましたが、私たちのワークフローは git のようなもので非常にうまくセットアップできるようです (私たちはローカル マシンでコミットし、変更セットをレビューのために彼にプッシュしています)。 git の経験が十分にあるとは思えません。私の DVCS 経験のほとんどは mercurial でした。
誰もが tortoisesvn を使用して Windows 環境で作業しており、それがシステムとの対話に慣れている方法ですが、Linux サーバーの 1 つで作業するために PuTTY を使用し、コマンドライン コミットの方法を知っている場合もあります。
SVN といくつかの DVCS の間のゲートウェイを作成するために行われている作業を見てきましたが、そのような環境でセットアップして作業した経験のある人はいますか?
SVN から DVCS への本格的な移行はどうですか?
git - 誰かがGitを使用した優れた翻訳ワークフローの例を教えてもらえますか?
どこかで読んだことがあります(正確にはどこを思い出せません)。Git(およびおそらく他の優れたDCVS)は、テキストを翻訳するときに優れたツールです。
私はこのシナリオのワークフローを理解しようとしていますが、私が得ることができた最高のものは次のようなものでした。
- 独自のブランチを使用してください。通常どおりファイルを翻訳し、必要に応じてコミットします。
- アップストリームに変更がある場合は、それらを独自のブランチとマージします。
- マージの問題を解決します(おそらくすべてのテキストを翻訳したので、テキストが追加されたすべての場所にあるはずです)
したがって、マージでマークされたファイルでは、変更がどこにあるかを(>>>マークで)簡単に見つけることができます。とにかく、私は要点を見逃しているかもしれないと思います。以前に変更されたファイルの一部に変更が見つかり、以前にマージ済みとしてマークされた場合にどうなるかさえわかりません。
ありがとう。
**編集:**わかりました、誰かが(コメントで)質問自体が明確ではないと指摘しました。具体的には、このワークフローが正しいかどうか、またはそれをより良くするための1つ(または複数)の方法があるかどうかを知りたいのです。
git - どの DVCS が Unicode ファイル名をサポートしていますか?
分散バージョン管理システムを試すことに興味があります。git は有望に思えますが、git の Windows ポートに関するメモをどこかで見ました。「非 ASCII ファイル名は使用しないでください」今は見つけられませんが、このリンクがあります。今のところgitから離れていますが、他のオプションがより良いかどうかはわかりません。
非 ASCII ファイル名のサポートは、私の日本の会社にとって不可欠です。ファイル名を Unicode として内部的に保存するものを探しています。これは、無限の悲しみを引き起こすプラットフォーム依存のエンコーディングではありません。そう:
- どの DVCS が Unicode ファイル名をサポートしていますか?
- WindowsとLinuxの両方で?
- 理想的には、最小限の問題で Windows マシンと Linux マシン間でリポジトリを転送できる可能性がありますか?
version-control - マーキュリアルの紹介
Mercurial をバージョン管理システムとして使用するプロジェクトに取り組み始めたばかりで、これを使用する方法に関する基本的なヒントが必要です。この質問を使用して、このテクノロジーに関する入門的なヒントを提供してください。
特に、使用するのに最適なプログラムと使用するのに最適なテクニック (ブランチ、イン チェックとアウト チェックなど。ベスト プラクティスを学ぶ必要があります!) に関するヒントを探しています。
shell - 自動バックアップ スクリプトでログインを処理する
Mercurial を使用してディレクトリをバックアップするために、毎日実行するようにスケジュールするシェル スクリプトを作成する必要があります。スクリプトの実行中に自動ログインを行う方法を見つけることができることを除いて、ほとんどのユースケースを完了しました。
hg push コマンドを発行すると、ログイン プロンプトが表示されます。
svn - 複雑なサブバージョン リポジトリから分散バージョン管理システムに移行するにはどうすればよいですか?
次のような Subversion リポジトリがあるとします。
ここで、variantA と variantB は元のソフトウェアのフォークです。
このリポジトリを分散バージョン管理システムに移行する方法を探しています:
- 必ずしも単一のコマンドではありません
- よく知られている分散バージョン管理システムのいずれか
- DVC にそれらのブランチを考えさせる: /official/{0.1,0.2} ツリー、/variantA/trunk ツリー、...
- それらのツリーの継承関係を DVC に認識させる
version-control - メインフレームのシーケンス番号を無視できる最新の無料の D?VCS はありますか?
「ファイル名にバージョン番号が含まれる」に基づく VC から、特に分岐とマージの機能を提供する最新の VC に、IBM アセンブラー言語プログラムの大規模なスイートを移行することを検討しています。
これらのファイルには 80 列のレコードがあり、最後の 8 列はほとんど意味のないシーケンス番号です。
実際にはスペースを無駄にしたくないいくつかの理由から、vcs がシーケンス番号列を無視し (ただし、適切に定義された方法で保持されることを願っています)、および diff とパッチのみに基づいて、シーケンス番号列が必要です。最初の 72 列の内容。
何か案は?
「無視するが保持する」を明確にするために、まだアイデアを完全に収集していないため、少しあいまいであることを認めます。
これは、次のようなものです。
「マージ/パッチを適用するとき、一方の側にシーケンス番号がある場合はそれらを出力します。複数の側にシーケンス番号がある場合は、ファイル (1|2|3) に存在するものを使用します」
シーケンス番号を保持する必要があるのはなぜですか? まず、それらは実際にはシーケンス番号です。次に、シーケンス番号が非常に重要になる可能性があるメインフレームに、この機能を再統合したいと考えています。(「SMP/E」が何を意味するかを知っている人は理解できます。そうでない人は、幸せですが、震えます...)
答えを受け入れていなかったことに今気づきました。難しい選択ですが、@Noldorin は私が行かなければならない場所に最も近いものです。
git - Gitでsvnタグ付けに似た何かを実行する方法は?
私のアプリケーションは新しい仕様に準拠する必要があります。
そのため、アプリのバージョンに現状のままタグを付けたいと思います。将来的にはこのバージョンをチェックできるようにしたいと思います。
最新の変更をすべてコミットしました。
そして私はします:
私が実行するとき:
それは私の最後のコミットからの違いを表示しますか?!何が起こっているのか正確にはわかりません。
代わりにブランチを作成する必要がありますか?
version-control - Mercurial でのバージョン管理された拡張機能の構成
通常、次を に追加して拡張機能を有効にします.hg/hgrc
。
ただし、この構成をバージョン管理、つまりリポジトリの一部にして、他の人 (同僚、マシンのビルド) がリポジトリのクローンを作成できるようにする必要があります。リポジトリを複製する人は、これらの拡張機能を有効にするために何もする必要がないことに注意してください。
ドキュメントからは不可能のようですが、ここで私を助けることができる巧妙なトリックを知っている人はいますか?