問題タブ [subtree]
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.
c# - グラフが再収束するタイミングを検出するアルゴリズム(一般的なサブツリーと同様ですか?)
私はこの問題に一日中取り組んでおり、レガシー製品の1つを書き直しており、フローチャートで特定のノードを見つける方法を決定するのに苦労しています。問題は私に大学を思い出させます、しかし私の一生の間、私はこれを解決するためのアルゴリズムを思い付くことができません。
これを説明するために3つのスクリーンショットを添付しましたが、基本的な問題は、YES / NOですか?決定ノードで、ブランチを終了する最も近い子ノードを見つけます。
私はC#.NETとJSONで作業しています。JSONには、各ノードに一意の識別子を与え、あるノードから次のノードへの各「リンク」を識別するオブジェクトがあります。C#で分岐ノードが与えられた場合に、最初の「エンドノード」を決定する関数(またはいくつか)を作成したいと思います。現在、C#でjSONをXMLに組み込んでいます。
ありとあらゆるアイデアが奨励され、実際にはコードを探すのではなく、アプローチ/アルゴリズムを探しています。
添付されているのは、図からのjSONの出力です。
git - Git サブツリーのマージは、マージ先のブランチの変更を削除します
Git ブック ( http://git-scm.com/book/ch6-7.html ) で説明されている構造を使用して、2 つのリポジトリをセットアップします。基本的に、1 つのレポのコピーとオリジンのマスター ブランチとの関係を維持したかったのです。サブモジュールでこれを行うことができることは知っていますが、それらを更新するプロセスは少し面倒に思えました。とにかく、「RepoB」のサブツリーを持つように「RepoA」をセットアップしました。T シャツへのリンクに記載されている手順に従いました。
「RepoA」のサブツリーに大幅な変更を加えました。同時に、私のチームの他のメンバーが「RepoB」のマスターに変更を加えています。すべてが完了したら、「RepoB」オリジン/マスターから変更をプルし、サブツリーでそれらを RepoA のサブツリーにマージできることを期待しています。ただし、これを行うと (-s サブツリー マージ オプションを --squash および --no-commit と共に使用して)、RepoA のサブツリーに加えたすべての変更が削除されます。サブツリーに追加した新しいファイルも削除されます! どうしてこれなの?サブツリーの使い方を誤解していませんか? 不適切にマージしていますか?どんな助けでも大歓迎です!
さらに、これらをサブツリー マージで適切にマージすることが不可能な場合、それらを手動で、手動でマージし、新しいプロジェクト構造を作成するための唯一の選択肢はありますか?
ありがとう!
c++ - 1 つのブースト プロパティ ツリーを別のブースト プロパティ ツリーに挿入する
サブツリーをあるサブツリーから別のサブツリーにコピーしたいptree
。
つまり
、src:
そして生成します:
次のようにします。
ただし、セグメンテーション違反が発生しますsubtree.put_child("QueueQuestion",q);
誰かアイデアはありますか?
git - 共有 git サブツリーの同期を自動的に維持する
私たちのサーバーには、いくつかのコンポーネントをサブツリーとして共有するさまざまなプロジェクト用のさまざまな git リポジトリがあります。ソースベース全体で積極的な開発を行っており、人々が可能な限り最も簡単で便利なワークフローを持っていることが重要であるため、それらがサブツリーのままであることは私にとって非常に重要です. それはまた、理想的にgit pull
はGUIツールを介したシンプルな方法が機能することを意味します. サブツリーは非常に便利です。なぜなら、誰もがレポを複製して必要なものをすべて表示し、最終的にチームの git サーバーにプッシュできるようにすることで、下層の複雑さを隠しているからです。
(その後、git サーバーは、最終的に TFS になるコンポーネントの git リポジトリにプッシュすることになっています)
問題は、コンポーネントをすべて自動的に最新の状態に保つにはどうすればよいかということです。私のアイデアは、git subtree pull
プッシュを受け入れる前に a を実行する (そして、クライアントが古くなっていると不平を言う可能性がある) フックとgit subtree push
、プッシュが到着した直後に a を実行する 2 番目のフックをプロジェクト リポジトリに実装することでした。
もっと良いアイデアはありますか?すべての入力を歓迎します。
svn - svn サブツリー、あるレポから更新、別のレポにコミット
SVN リポジトリに大きなプロジェクトがあります。プロジェクトのいくつかのモジュールを他のアプリケーションで使用したいので、コードを最新の状態に保つために、メインの SVN リポジトリからそれらをチェックアウトすることを考えました。
リポジトリの1つのフォルダー/モジュールを「エクスポート」して、そのモジュールのみを他のプロジェクトにチェックアウトするにはどうすればよいですか? そのモジュールを含めたい他のプロジェクトも、独自の SVN リポジトリにあります。
履歴書では、SVN 更新をメイン リポジトリに実行できるようにしたいのですが、コミットはプロジェクト リポジトリに実行したいと考えています。
私がやりたいことが明確になることを願っています。
DavidW anwser への応答:
- 複数のプロジェクトを含む 1 つのリポジトリがありますが、必要に応じてこれを変更することがあります。
- ソースコードを公開したい。そのphpプロジェクト。モジュールをフォークしています。(私はグローバルな汎用プロジェクトを持っており、
クライアントが特定の機能を必要とする場合、 - そのクライアント用に別のプロジェクトを作成したい(svnでも別)。しかし、メイン プロジェクトで行われたいくつかの変更を
クライアント プロジェクト
にマージする方法が必要です。
(例: グローバルなバグ修正または機能)。
git - gitリポジトリ全体でファイル/フォルダを共有するには?
私は git リポジトリを持っています。内部には、リポジトリ間で共有したいファイル/フォルダーがあります。
このタスクにサブモジュールを使用するのはやり過ぎに見えます。SVN の時点で、snv:externals フラグを使用しましたが、これは私の目的には問題なく機能しました。
サブツリーは再び外部リポジトリを参照していますが、これはまったく必要ありません。シンボリック リンクのような単純なものでもかまいません。しかし、私の開発者は Mac、Win、Linux を使用しているため、クロスプラットフォームが必要です。
ruby-on-rails - RAILS: [@Grandparent, @Parent] 表記を使用して孫モデルのリンクを生成する方法 (祖父母は Nil として表示されます)
地区を表示、編集、削除、または追加しようとすると、次のエラーが発生します。
私はcountry_state_pathリンクを生成することを期待していますlink_to 'Back', [@country, @state]
が、何らかの理由でstate_pathしか提供していません。@country.state を実行する代わりにドット表記を使用すると、nilClass エラーが発生します。
モデルにツリー構造を使用しています:
country_state_path と入力すると、すべて正常に動作します。しかし、それは私の状態モデルで機能するため、モデル表記法を使用して入力したいと思います。
(私は正しい用語を使用していますか?間違っている場合は修正してください。私はまだRailsに慣れていません)
コード
地区モデル
地区コントローラー
地区「ショー」ビュー
機能していない行は"link_to 'Back', [@country, @state]
.
svn - サブツリーのsvnマージ、次に完全なツリー
私の会社では、SVN を使用してトランクのサブツリーをブランチにマージし、その逆も行っています。
たとえば、/Trunk/folderA/ --> /Branch/folderA/ をマージしますが、必ずしも /Trunk/ --> /Branch/ からルート マージを実行するとは限りません。
各フォルダーの mergeinfo がフォルダーの古いマージを追跡していることに気付きました。また、サブツリーの過去のマージで既に適用された変更を svn が「削除」することを期待しています。この機能は、SVN ブックの「サブツリー マージとサブツリー マージ情報」という章で具体的に説明されてい ます。 basicmerging.stayinsync.subtree
問題: ルート マージを実行すると、svn はサブツリーの mergeinfo を無視し、古い変更をサブツリーにマージしようとします。言い換えれば、本で説明されているように、以前のマージを「省略」しません。
なぜそれが起こるのか知っている人はいますか?解決策はありますか?
ありがとう
git - 異常な出力による git サブツリー プッシュの失敗
ここの指示に従って git サブツリーを作成しました - https://help.github.com/articles/working-with-subtree-merge
おそらく残念なことに、サブツリーを含むリポジトリに対して通常の TortoiseGit プッシュを実行しました。何故かTortoiseGitのチェンジリストにサブツリーから変更されたファイルが載っていたので(ちゃんと変更されていたのですが)、「おお!ナイス!TortoiseGitは自動的にサブツリーに対応している!」と思ったので、そのままコミットして通常のTortoiseGitを実行しました。押す。
次に、TortoiseGit が私の考えどおりに動作することをテストするために、サブツリーが配置されているリポジトリのクローンを取得し、プルしました。悲しいことに、TortoiseGit にプッシュしたと思っていたサブツリーから変更を取得できませんでした...
何が起こったのかわからなかったので、git-subtreeをインストールし、何かがうまくいくようになるまでサブツリーでプッシュコマンドのさまざまなバリエーションを試してみました-
これらの行の1つが誤って新しいブランチまたは何かをプッシュしたと推測し、おそらくこの質問に関連する問題を引き起こしていると思われるため、推測するよりもよく知っているべきでした...
それでも、私は続行し、ネット上の他の場所で見つけた指示に従って、問題がなかったことを確認しようとしました-
これはうまくいったようです。しかし、まだ正しくプッシュしたかどうかわからないので、見つけた新しいページに従ってもう一度プッシュしてみました - git subtree push -P prime https://github.com/bryanedds/prime.git master
そして、拒否エラーを伴うあらゆる種類のクレイジーな出力が得られます-
もう一度引っ張ってみましたがだめでした。また、重要なことに、すべての数字、括弧、およびスラッシュは何ですか??? 私は今、完全に立ち往生していて、道に迷っています。おそらく、ぶらぶらしたのは私のせいなので、この問題について助けていただければ幸いです!
最後に、私はこの穴を掘っている間に他の悪いことをしたかもしれません... 私がしたことすべてのログがあればいいのにと思いますが、CMD は、自分のログの最後の 50 行以上を知る必要はないと考えています。セッション........ >:(