git-p4 clone是强制运行git-p4 sync的吗?

yqkkidmi  于 12个月前  发布在  Git
关注(0)|答案(1)|浏览(107)

我正在使用git-p4 sync命令从perforce获取文件到git仓库。
我一直在git中测试分叉的git仓库(从原始仓库)上的一些变化。我已经将buildbot CI构建步骤配置为运行git-p4 sync命令:-
/home/test-worker/staging-worker/venv3/bin/python3 /usr/local/bin/git-p4 sync --use-client-spec --keep-path --branch refs/heads/sv4/main
我明白了
No remote p4 branches. Perhaps you never did "git p4 clone" in here.
但在原始存储库中,相同的构建步骤工作正常,他们没有运行任何git-p4 clone作为先决条件。
一个不同之处是我注意到了在原始仓库中的条目p4/HEAD -> test/main,使用build命令:-git branch -r,这个条目是在运行上面的(git-p4 sync)命令之后创建的。我不明白为什么在我的分叉测试仓库中没有创建相同的条目。请建议。
我尝试在分叉的测试存储库(存储库的根文件夹)上运行git-p4 clone
/home/test-worker/staging-worker/venv3/bin/python3 /usr/local/bin/git-p4 clone --use-client-spec --keep-path --verbose --branch refs/heads/test/main //sw/pvt/hello
但是它会在分叉的repo的根文件夹中创建一个名为'hello'的新目录,我可以在'test'文件夹中看到p4/HEAD -> test/main。基本上我不想创建任何新文件夹。相反,我想更新分叉的repo,在那里我有分支test/main
还请多多指教。

fwzugrvs

fwzugrvs1#

您不需要直接调用python3,请在etc/gitconfig中添加以下别名:

[alias]
p4=!python.exe <path to git-p4.py>

字符串
git p4 clone为perforce中的repo创建git repo。它应该只使用一次。之后应该使用git p4 sync。
我不使用--use-client-spec.我直接与仓库工作,以便所有文件都同步
例如git p4 clone --detect-branches“//depot/project1@all”
git p4 sync --detect-branches“//depot/project1@all”

相关问题