问题标签 [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.

0 投票
2 回答
2158 浏览

git - git p4 提交:补丁不适用

最近我一直在使用 git-p4 遇到问题。

我目前的工作流程是:

并非总是如此,但偶尔在执行时git p4 submit,更改实际上并不适用,而是我看到:

做一些研究,我尝试在 master 上进行硬重置并在没有--no-ff标志的情况下再次合并,但这似乎没有帮助。

任何想法都非常感谢。

0 投票
3 回答
3052 浏览

git - git p4 提交失败

我尝试在我一直在运行的 repo 上运行 git p4 submit 作为 git 和 perforce 之间的临时桥梁。多人将 repo 用作遥控器,并定期将其提交回 perforce。

它一直工作得很好,除了一些重复的 perforce 提交,它们的奇怪行为我似乎无法重现。然后有一天我突然收到了这个错误。我不能再推动任何 git 提交来执行。

该错误看起来很像这个错误:

git-p4 提交失败,补丁不适用

除了我没有做任何关键字替换,所以我不知道它可能是什么。添加--verbose似乎对解释没有多大帮助(我手头没有该命令输出)

我能想象的唯一变化是我在提交时添加了一个 .gitattributes 文件,其中包含以下内容。但是,在该 gitattributes 文件就位的情况下,在此提交之前进行的提交确实有效,所以不可能是这样(我已经使 .gitattributes 文件更详细)

我已经尝试将远程仓库中的提交回滚到这个有问题的提交之前,然后将它们从我的仓库重新推送到这个远程仓库,然后重新提交。相同的行为。我尝试回滚,并对同一个文件进行不同的编辑,重新推送,重新提交。相同的行为。它似乎只发生在这些文件中。自回滚以来,我尝试对其他文件进行编辑并且它们可以工作。我尝试运行 dos2unix 以强制在有问题的文件上使用 unix 行结尾,但这也没有解决它。

什么命令可以让我更好地解释这里发生了什么?有我可以跟踪的 git 日志文件吗?任何援助将不胜感激。

编辑:我已经重新测试了使用和不使用 .gitattributes 文件的问题。这没有什么区别。目前我的全局 core.autocrlf 设置是输入。但是缺少 .gitattributes 文件似乎没有什么区别。这是我只用一个有问题的文件重新测试它时的样子--verbose

0 投票
1 回答
1231 浏览

git - git p4 rebase 尝试重新应用过去的提交

我遇到了 git p4 rebase 问题,我不知道如何开始诊断问题,更不用说问题是什么了。

所以我有一个 git-p4 从 perforce 工作区克隆的 git repo,它被用作远程 repo 以充当桥梁,因此团队可以针对一个远程 repo 使用 git,然后定期,我可以将 repo 的更改推送回工作区。

通常工作流程是这个人在主分支上,进行编辑,git -a commits,git pull再次,然后将git push它们发送到远程仓库,或者他们创建一个分支,然后在他们完成后将该分支合并回来然后将主分支推送到远程。如果他们需要超过一天的时间,他们可能会偶尔将分支向上推。

当我将东西推回 perforce 时,我在远程仓库中运行以下命令

远程仓库不是裸露的,这就是我在前后运行结帐和清理的原因

基本上不时地,在更改被推回后,当我执行 git p4 rebase 时,我收到以下错误

所以我有很多问题,在这里,当它执行 git rebase 时git p4 rebase,它​​会重新应用一些已经应用到远程仓库的提交,这些提交已经从以前的git p4 rebase. 重复提交从何而来?为什么它仍然试图通过 repo 重放它们?

当我在 repo 的工作副本中检查文件时,它与工作区相同,因为自上次git p4 rebase. 结果git rebase --continue并没有真正做任何事情。

唯一的解决方案是运行git rebase --skip,但是当我这样做时,当我随后运行时会出现相同的消息,并且每次git p4 rebase都必须重新运行。git rebase --skip真让人生气。

有时,我不完全确定在通过此消息后,它实际上会如何在我运行时将提交推送到 p4 工作区,git p4 submit从而导致重复的 p4 提交和混乱的文件。我相信它会在我跑步时发生git rebase --continuegit rebase --skip然后git p4 submit

当我检查 git 日志时,HEAD 通常在 master 之前提交,但是如何?

然后偶尔错误会再次消失,我无法弄清楚它消失的确切条件。

我什至如何开始解决这个问题?

0 投票
2 回答
978 浏览

git - 流支持 git-p4 还是好的 p4 命令行教程?

我当前的项目位于 perforce 流工作区中。我对 git 很熟悉,但是 git-p4 不支持流。你知道绕过这个限制的方法吗?

你知道 perforce 的优秀 CLI 教程吗(从 gi​​t 用户的角度来看)?或者甚至是一个命令行包装器让 perforce 使用它类似于 git(很可能不可能)?

谢谢,拉斯

0 投票
1 回答
1757 浏览

git - p4passwd 在 git-p4 python 中无效或未设置

所以我设置了我的 perforce 和 git。我可以使用命令行中的“p4 info”等简单命令轻松访问、修改 perforce。我有一个 perforce 工作区,并在它旁边为 git 创建了一个新目录。每当我尝试“git p4 clone //perforce/(path)”时,它都会给我错误“Perforce 密码 (P4PASSWD) 无效或未设置”。

现在我尝试了几种不同的方法。我尝试使用 1)

2)在 perforce 工作区和 git 目录中创建了一个 .perforce 文件,其中包含“

3)在 git 目录中使用类似的变量制作了一个 .gitconfig 文件。

我不确定我做错了什么,但无论我做什么,由于这个 P4PASSWD 问题,git p4 总是失败。

任何帮助将不胜感激。谢谢

0 投票
1 回答
1415 浏览

git - git-p4:将 p4 更改同步到 git repo

我正在将我们的项目从 perforce 转移到 git。经过一些设置并按照指南,我成功地创建了我的 git repo 并从 perforce 导入了源代码。然后我遇到了不能简单地将后续 p4 更改导入 git repo 的问题。(我们大多数人仍在研究 perforce)。

  1. git-p4 同步
  2. git push 起源大师

出现以下错误

[rejected] master -> master (non-fast-forward) error: failed to push some refs to 'git@github.com:xxx/yyyyy.git' 提示:更新被拒绝,因为你当前分支的提示落后于提示: 它的远程对应物。合并远程更改(例如“git pull”)提示:在再次推送之前。提示:有关详细信息,请参阅“git push --help”中的“关于快进的说明”。

我也试过

  1. git-p4 同步
  2. git-p4 变基
  3. git 拉
  4. git 推送

终于奏效了。但我不知道为什么。

git-p4 同步手册说

初始导入后,您只需在 git 存储库中调用 git-p4 sync 即可轻松地将您的 git 存储库与 Perforce 库中的更新更改同步。默认情况下,“remotes/p4/master”分支已更新。

所以我猜这就是为什么后续的“git push”不起作用的原因。我每次都必须重新设置/拉/推吗?我错过了什么吗?我是git新手,请帮忙。

0 投票
1 回答
270 浏览

macos - git p4 submit - '无法确定文件类型'失败?

定期,当我在做的时候git p4 submit,我得到一个讨厌的错误:

在每种情况下,都是一些奇怪的二进制类型文件(如上面的 favicon.ico)或(最常见的)图形,如 PNG。这会终止提交,并使之前打开的所有文件处于打开状态,但尚未提交......

解决这个问题最终会让人头疼,我最终不得不使用 p4v 进入并通过新的更改列表手动提交我试图提交的一半,然后完成我的提交(交叉手指我没有不要碰到另一个奇怪的文件并再次卡住)。

(这是在带有 OS X Mountain Lion 的 Mac 上的 git 版本 1.8.3.2 上)

有没有人想出一种让git p4行为正常的方法?有任何想法吗?

0 投票
1 回答
164 浏览

git - git-p4 和分离的分支

所以,我做一个

当一切都说完了,我希望 foo/bar (主分支)和 baz/garply (主分支的分支)之间存在关系。没有。

我能够git checkout master并且正确地登陆主分支。但是,当我尝试切换到 "baz/garply"git checkout p4/baz/garply时,我进入了一个分离的 HEAD。(git diff master从这个分离的 HEAD 似乎也导致了非常不正确的结果。)

我假设git-p4不维持关系主要是通过branchList机制?有没有办法在分支之间建立这种关系?

(请注意,我这样做git sync并不是git clone因为存储库很大,我宁愿不再检查它们。此外,由于存储库太大,检测分支机制将不起作用。)

0 投票
1 回答
803 浏览

git-p4 - 如何让 `git-p4 sync` 工作?

我已经成功创建了一个名为“脚手架”的 git 分支git-p4.py clone

我现在想将最新的 Perforce 更改同步到 git 分支中,所以我正在尝试git-p4.py sync --branch=scaffold,但所发生的只是以下输出:

之后,git statusnothing to commit (working directory clean)

我怎样才能让它工作?

0 投票
1 回答
551 浏览

git - git-p4 rebase 遇到冲突

我正在尝试从 Perforce 转换为 git,并使用 and 复制了 Perforce 存储git p4 clone //depot/path/to/project/...@all projectgit push ssh://git@example.com:7999/project.git master

现在我想让 git 存储库与 Perforce 存储库保持同步。工程师只提交到 Perforce 存储库。当我:

它抱怨合并冲突。我不明白为什么应该存在合并冲突,因为 git 存储库本身不应该发生任何更改。需要做什么来解决这个问题?