问题标签 [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 时,我对 refs/remotes/p4/master 的含义有一个模糊的理解(文档不是很清楚,我在这里找不到解释)。
根据git-p4 克隆文档:
将来自给定 p4 软件仓库路径的头部修订的全部内容导入到 Git 分支 refs/remotes/p4/master 中的单个提交中。
如果我理解正确,Git 会以某种方式使用 refs/remotes 来跟踪使用原始 P4 存储库创建的本地 Git 存储库(如果我弄错了,请纠正我)。
我的问题是:如果迁移后我不想保持 Git 和 P4 之间的连接 - 我应该删除 ref/remotes/p4/master 分支吗?还是我应该移动它?它甚至有任何影响吗?也许为了安全起见,把它放在那里会更好……?
注意:稍后我需要将同一项目的更多分支从 Perforce 迁移到 Git,但同样,一旦分支迁移,我将不再需要在 Perforce 中跟踪它。
git - Git -> Perforce 的翻译失败
我尝试将 Git 存储库迁移到 Perforce。我尝试过的是(例如)
- 克隆
git clone https://github.com/mbostock/d3.git
- 将目录更改为新文件夹
- 提交与
git p4 submit
片刻后失败并显示错误消息
我还没有找到迁移适用的 Git。我正在使用 Git 1.9.5。我究竟做错了什么?
git - git p4 克隆失败:ValueError 错误的封送数据
我正在尝试使用 Git-P4 使项目的日常更改更容易一些。当我进入git p4 克隆阶段时,在 Git wiki 中遵循 Git-p4 用法时,我收到以下错误(故意删除了路径):
不确定这是否意味着我必须更改 p4 print 命令?社区中的其他人遇到此错误吗?和/或有建议吗?
编辑 输出示例
git - git-p4 克隆命令失败
我正在尝试运行此命令: git-p4 clone -v //depot/path/project/v31a
它失败并出现错误:
从 //depot/path/project 导入到项目中
重新初始化 /home/xxx/Downloads/p4tmp/v31a/.git/ 中的现有 Git 存储库
读取管道:['git', 'config', '--bool', 'git-p4.useclientspec']
将 //depot/path/project/v31a/ 从修订版#head 初始导入到 refs/remotes/p4/master
读取管道:['git', 'config', 'git-p4.user']
读取管道:['git', 'config', 'git-p4.password']
读取管道:['git', 'config', 'git-p4.port']
读取管道:['git', 'config', 'git-p4.host']
读取管道:['git', 'config', 'git-p4.client']
打开管道:['p4', '-G', 'files', '//depot/path/project/v31a/...#head']
打开管道:['p4', '-G', 'describe', '-s', '222342']
读取管道:['git', 'config', '--bool', 'core.ignorecase']
提交到 refs/remotes/p4/master
打开管道:p4 -G users
git 快速导入的 IO 错误。你的 git 版本够新吗?
===============================================
在此之前,我已经设置了 P4HOST、P4USER 和 P4PASSWD 环境变量。
知道这个错误是什么吗?我的 git 版本是 2.3.6。
python - Cygwin下的Git P4:提交失败,“补丁不适用”
我正在尝试在 Cygwin 下使用 git-p4 。工作流程的“克隆”和“变基”部分似乎工作正常,但我无法“提交”。我猜这可能与行尾约定有关。我已经查看了这个 git-p4 问题及其链接项目,但是对行尾和空格配置的操作到目前为止还没有成功。我的配置中的注意事项:
(1) 我正在使用 bash shell 函数技巧来让路径正常工作:
(2) 我已经尝试了 git 值的所有设置autocrlf
——无论 (true,false,input) 是什么结果都是失败的。目前尝试“假”,因为这在与仓库进行比较时最有意义。
(3) 我也玩过 p4 clientspec 的 lineend 值;目前正在尝试“unix”、Cygwin 的 b/c 和在 OSX 下运行的 P4 沙箱服务器。
测试很简单。存储库包含一个文件 foo1。仓库版本看起来像(使用输出od -c
):
本地 git 提交的版本如下所示:
我applyCommit()
在 git-p4 的方法中添加了一些额外的诊断输出。结合使用 --verbose 运行提交:
注意“理智:”诊断行。这是方法tryPatchCmd
中失败的值applyCommit()
。如果我在 bash 命令行执行语句的第一部分,我会看到:
将其连接到命令的第二部分不会导致错误。我很困惑为什么os.system()
在 Python 脚本中使用命令执行失败但否则成功。想法?
python - git-p4 消息和作者编码
今天我可以将一些相当古老的 perforce 存储库迁移到 git。虽然这真的很有趣,但有一件事引起了我的注意。提交消息中的所有特殊字符,甚至作者姓名都不是正确的编码。
所以我试图调查问题来自哪里。
- 首先 perforce 服务器不支持 unicode,所以设置 P4CHARSET 没有效果,但是
Unicode clients require a unicode enabled server.
- 然后我检查了简单命令的输出,例如
p4 users
ANSI 中确实存在的位置(根据file -bi
重定向输出咨询 notepad++ 或 ISO-8859-1) - 该
locale
命令说 LANG=en_US.UTF-8 ...
毕竟我的猜测是所有 p4 客户端输出都在 ISO-8859-1 中,但 git-p4 假定为 UTF-8。
我尝试用重写提交消息
但这并不能解决问题,特别是因为它不打算重写作者姓名。
任何人都猜测如何在 git-p4 接收它们之前强制将输出转换为 UTF-8?
更新:
我尝试使用添加到 PATH 的简单 shell 脚本“覆盖”默认的 p4 命令输出
但这破坏了明显使用的编组 python 对象:
更新2:
如此处所见更改 Python 的默认编码?我试图将python编码设置为ascii:
输出:
但仍然没有正确迁移所有消息和作者。
更新 3:
即使尝试修补 git-p4.pydef commit(self, details, files, branch, parent = "")
功能也无济于事:更改
对其中之一
刚刚提出:
因为我不是 python 开发人员,所以我不知道接下来要尝试什么。
github - 寻找一种同步 Perforce <-> Git 的方法
我们的团队正在寻求将我们的 perforce 服务器迁移到 Git。有没有办法从我们的 Github 服务器中的一个分支同步签入到 Perforce 以保持同步?我一直在查看 git-p4 ,似乎有很多关于如何同步 Perforce -> Git 的文档,但反之则不然。理想情况下,我希望它以两种方式同步 perforce <-> git,p4-git 可以吗?
git - git p4 sync - perforce 的变化去哪儿了?
在我当前的设置中,在 Perforce 软件仓库中所做的所有更改都会迁移到 git 存储库。转移是一种方式,总是从 Perforce 到 git,而不是相反。我使用将 depot 复制到新的 git repo 没有问题git p4 clone
,但是,我现在正在尝试使用git p4 sync
,并且我的 repo 没有被更新。
当我运行git p4 sync
时,它确实显示了有关从 Perforce 库导入新更改的状态消息。如果我再次运行该命令,它会说一切都是最新的。我的master
分支没有更改,并且我的存储库中没有列出任何其他分支或遥控器(例如,使用git branch -v
and git remote -v
。我如何签出这些更改?
(使用git version 2.3.2 (Apple Git-55)
)。
git-p4 - 致命:不支持的命令:Users.Ref "KPLUS"
我正在将几个 Perforce 项目迁移到 Git。一个在 18% 的过程中失败了:
致命:不支持的命令:Users.Ref "KPLUS"
看起来 git fast-import 正在尝试执行文件中应该打印的文本(我认为)
快速导入崩溃报告告诉我
文本位于似乎格式不正确的 xml 文件中,但我认为这无关紧要。
git - 无法执行 - Git P4 克隆损坏
安装git后- 我尝试克隆现有的p4分支,但失败并显示以下信息: