問題タブ [git-p4]
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.
git - git p4 同期操作の失敗
p4 から GIT への移行に「git-p4」スクリプトを使用しています。大量の変更リスト (約 500 万) が原因で、クローン操作が失敗しています。したがって、増分インポート操作を実行しようとしています。最初の実行のためにクローンを作成してから、操作を同期しようとしました。小さな変更リストでテストしました。
ファーストラン:
2 回目の実行:
エラー:
ansible - ansible を介して実行中に git-p4 がリポジトリのクローンを作成できない
リポジトリをローカル git サーバーにクローンするシェル スクリプトを使用して、Ansible マスター マシンを実行しています。私は Perforce からクローンを作成しているため、同じために git-p4 モジュールを使用しています。
私のターゲット マシンには RHEL 7 があり、このシェル スクリプトをターゲット マシンで実行すると正常に動作します。ただし、コマンド モジュールを使用して Ansible マスターからこれを実行すると、次のエラーがスローされます。
git - git-p4 異なるサブディレクトリにブランチを移行する
ソース コード ツリーを perforce から git に移行したいと考えています。ソース コードには、必ずしも同じディレクトリにあるとは限らない、perforce デポ全体に散在するいくつかの開発ブランチが含まれています。たとえば、構造は次のようなものです-
git-p4 のドキュメントhttps://git-scm.com/docs/git-p4 BRANCH DETECTION セクションと同様の記事http://forums.perforce.com/index.php?/topic/1395-git- p4-and-multiple-branches/ .
直接の親の下にあるものの履歴を持つブランチを移行できます
私が達成できないのは、6 つのブランチすべてを一度に移行する方法です。
ブランチ仕様を指定した後、//depot@all レベルで移行を実行しようとしましたが、perforce サーバーが巨大であるため失敗し、maxresults 例外またはセッション タイムアウトが発生します。誰かがこのシナリオをどのように処理できるかを教えてもらえますか?
私が目にするもう 1 つのオプションは、ブランチを個別に移行し (1 つのブランチを 1 つの git リポジトリに)、それらすべてのブランチを新しい git リポジトリにマージすることです。これが影響/マイナス面になるかどうかはわかりません。
perforce - 特別なワークスペース マッピングを使用して git-p4 を処理する方法
マスターを強制的にプッシュできるgitリポジトリを作成しようとしています。アップストリームを更新するために、git + gitflow とマスターへのリベースを使用することを考えています。これは、実験的なブランチでの開発者間のコラボレーションを増やし、それを完全にプッシュする方法を維持するためです。
私のワークスペースには、次のようなワークスペース マッピングがあります。
私は次のことを試しました:
これで 3 つの git リポジトリが得られ、perforce と個別に同期する必要があります。git リポジトリを 1 つだけ取得する方法はありますか?
最終的に 1 つの git リポジトリでこれを行う方法はありますか?
git - git-p4 How to fetch a changelist
git p4 submit --shelve
takes your committed changes in the local git repo and puts them in a changelist X and shelves them.
Let's say I did some code reviews on the shelved changes, and so the files in my local git repo are not the same as the files in the changelist X. How do I get the updates in changelist X into my local git repo?
git - ファイル名に不正な文字が含まれているため、git2p4 サブミットが失敗する
私たちのチームは git2p4 を使用して github リポジトリでローカルに開発し、それを perforce に送信します。たとえば。
/home/workspace/src/ - git リポジトリ コード (変更あり)
/home/workspace_p4git/src - perforce のデポに関連付けられたローカル クライアント ワークスペース。
git リポジトリのソース コードを perforce ローカル ディレクトリにコピーすると、変更がステージングされていない状態で git に表示されます。
今私の問題:
git リポジトリに abc %28def%29.extension という名前のファイルがあります。
「git add -A」を実行すると、それは私を示しています-名前が変更されました
: abc %2528def%2529.extension -> abc %28def%29.extension
おそらくこれは、Perforce がファイル名に「%」文字を許可していないためです。
次に、コードを git リポジトリに送信しようとします - git p4 submit -M
これは次のエラーで失敗します。
ターゲット ファイルに無効なエスケープ シーケンス [%xx] があります。
コマンドが失敗しました: p4 integrate -Dt "abc %2528def62%2529.extension" "abc %28def%29.extension"
gitリポジトリのファイル名を変更する以外に、これを解決するための提案はありますか?