- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
看起来 git-p4 不是 Windows 的 MSys-Git 项目的一部分。有人知道如何让它通过 Windows 运行吗?
最佳答案
2019 年 7 月更新,“Git P4 clone broken”问题现在由 Gabriel Morin 提及:
[alias]
p4 = !python.exe 'c:\\program files\\Git\\mingw64\\libexec\\git-core\\git-p4'
Then using
git p4
from the command line worked.
借助 Git 2.32(2021 年第 2 季度),git p4
学会了更高效地查找分支点。
参见 commit 6b79818 , commit c3ab088 (2021 年 5 月 5 日)Joachim Kuebart (jkuebart
) .
(由 Junio C Hamano -- gitster
-- merge 于 commit e289f68,2021 年 5 月 14 日)
git-p4
: speed up search for branch parentSigned-off-by: Joachim Kuebart
Helped-by: Junio C Hamano
Helped-by: Luke Diamand
For every new branch that
git-p4
imports, it needs to find the commit where it branched off its parent branch.
Whilep4
doesn't record this information explicitly, the first changelist on a branch is usually an identical copy of the parent branch.The method
searchParent()
tries to find a commit in the history of the given "parent" branch whose tree exactly matches the initial changelist of the new branch, "target
".
The code iterates through the parent commits and compares each of them to this initial changelist usingdiff-tree
.Since we already know the tree object name we are looking for, spawning
diff-tree
for each commit is wasteful.Use the "
--format
" option of "rev-list
" to find out the tree object name of each commit in the history, and find the tree whose name is exactly the same as the tree of the target commit to optimize this.This results in a considerable speed-up, at least on Windows.
On one Windows machine with a fairly large repository of about 16000 commits in the parent branch, the current code takes over 7 minutes, while the new code only takes just over 10 seconds for the same changelist:Before:
$ time git p4 sync
Importing from/into multiple branches
Depot paths: //depot
Importing revision 31274 (100.0%)
Updated branches: b1
real 7m41.458s
user 0m0.000s
sys 0m0.077sAfter:
$ time git p4 sync
Importing from/into multiple branches
Depot paths: //depot
Importing revision 31274 (100.0%)
Updated branches: b1
real 0m10.235s
user 0m0.000s
sys 0m0.062s
2020 年 3 月更新
在 Git 2.27(2020 年第 2 季度)中,“git p4
”已更新为可与 Python 3 一起使用。
参见 commit 6bb40ed (2020 年 1 月 23 日)作者:SZEDER Gábor (szeder
) .
参见 commit 7575f4f , commit ce425eb , commit 2e2aa8d , commit a6b1306 , commit 4294d74 , commit 50da1e7 , commit 5a5577d , commit d38208a , commit 86dca24 , commit 6cec21a , commit 1f8b46d , commit 0b4396f (2019 年 12 月 13 日)Yang Zhao (yangminz
) .
参见 commit 484d09c (2019 年 12 月 13 日)Ben Keene (seraphire
) .
(由 Junio C Hamano -- gitster
-- merge 于 commit 9a0fa17 ,2020 年 3 月 25 日)
ci
: use python3 in linux-gcc and osx-gcc and python2 elsewhereSigned-off-by: SZEDER Gábor
Python2 reached end of life, and we have been preparing our Python scripts to work with Python3.
'
git p4
', the main in-tree user of Python, has just received a number of compatibility updates.
这仅记录在 Git 2.30(2021 年第一季度)中 commit 263dc0 .
2018 年 7 月更新:
Git 2.19(2018 年第 3 季度)将开始为 git p4 带来 Python 3 支持。
参见 commit db2d997 , commit f2606b1 , commit efdcc99 , commit 4d88519 , commit dba1c9d , commit fc35c9d (2018 年 6 月 19 日)作者:Luke Diamand (luked99
) .
(由 Junio C Hamano -- gitster
-- merge 于 commit 6dcd364 ,2018 年 7 月 18 日)
Code preparation to make "git p4" closer to be usable with Python 3.
2016 年 1 月更新:
自 2010 年以来,contrib/fast-import/git-p4.README
自 2012 年 4 月以来的提及
git-p4 脚本移动到 git 源目录的顶层。请注意,顶级 git-p4.py 脚本现在是源代码
Windows users can copy the
git-p4.py
source script directly, possiblyinvoking it through a batch file called "git-p4.bat
" in the same folder.
It should contain just one line:
@python "%~d0%~p0git-p4.py" %*
(虽然这个2013 article is invoking git-p4.py
directly)
原始答案(2010 年 4 月)
如“Why Perforce is more scalable than Git”中所述,注意不要在 Git 任何 p4 存储库中导入。 Git 无法处理 P4 可以管理的那种巨大的独特 repo 。
Git-P4 在 Python 中,它应该在 Windows 上运行(如 this question )
您可以 grab git-p4.py here并将其用作 git-p4.bat
@python "%~d0%~p0git-p4" %*
它需要安装 Python 2.x。
别忘了还有 another approach as well .
关于windows - 如何在 Windows 中运行 git-p4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2646380/
关于strcat函数。 while (*p) p++; 和 while (*++p) ; 两者都有效,但是 while (*p++) ; 不起作用。我认为 first 和 th
" in HTML?(HTML中的““是什么
?)
下面例子中的第一行代码是什么。我看到一个YouTuber在写下面的代码,它显示了一个设计在csswar Challenges中。我也尝试了一下,它很管用。但我以前从未在任何HTML教程上看到过它,我在
vs.
是不间断空格,表示没有换行的空白处。 如果我用 我在两个段落之间有一个空格(更大的间隔)。如果我使用 我在两个段落之间只有一个新行(没有中断)。为什么? 最佳答案 在 HTML 中
这个问题已经有答案了: Why are these constructs using pre and post-increment undefined behavior? (14 个回答) 已关闭 9
我对编程还很陌生,只是想知道为什么这段代码: for ( ; *p; ++p) *p = tolower(*p); 当 p 指向一个字符串时,可以降低 c 中字符串的大小写吗? 最佳答案 一般来说,这
代码 int n = 25; int *p = &n; printf("%x\n %d\n %x\n", p, p[0], p[1]); 返回: \ 当然我永远不会这样做,但在 K&R 中声明
所以,我想创建一个简单的程序,返回有关连续素数的计算结果。首先,我创建一个包含所有这些素数的列表,然后尝试计算结果,但这给了我一个超出范围的索引。有人可以帮助我吗?我的程序: primes = []
这个问题在这里已经有了答案: With arrays, why is it the case that a[5] == 5[a]? (20 个答案) 关闭 9 年前。 我想知道 C/C++ 中以下四
我仍在努力理解 *p、&p 和 p 之间的区别。根据我的理解,* 可以被认为是“指向的值”,而 & 可以被认为是“地址”。换句话说,* 保存值,而 & 保存地址。如果这是真的,那么 *p 和 p 之间
你是吗? [xxxrecipientFirstNamexxx]
和你是吗? {recipientFirstName}
需要更换 你是吗? [xxxrecipientFirstNamexxx] 和 你是吗? {recipientFirstName} 。我尝试使用边界匹配器。但结果并不符合预期。我尝试使用下面的代码 "A
我想按 IsTop 属性升序排序对象,然后按 JobId 属性降序排序: query = query.OrderBy(p => p.IsTop).ThenOrderByDescending(p =
在我尝试使用 Apache POI 进行转换的 Excel 文件中,我有一个单元格的数值为 -3.97819466831428,自定义格式为“0.0 p.p.;(0.0 p.p.)”。因此,在 Exc
我想创建一个扩展方法,允许我调用 ToSerializableDictionary(p => p.ID)而不是 .ToDictionary(p => p.ID)在以下 LINQ 上下文中。虽然我不确定
在下面的 HTML 代码上运行此 jQuery 代码会返回不同的结果,我认为它们应该返回相同的值。 jQuery 代码: var counter = 0; $("p").each(function()
在下面的代码片段中,符号 *p 等同于 p[0],*(p + 1) 等同于p[1],依此类推。 int* p = new int[3] { 1, 2, 3}; cout << *p << ' ' <<
这个问题在这里已经有了答案: What will happen when I call a member function on a NULL object pointer? [duplicate]
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Undefined Behavior and Sequence Points 按照标准中的定义,E1 +=
" in HTML?(在HTML中“
以下示例中的第一行代码是什么。我看到一个youtube用户写下面的代码,它显示在cssbattle挑战的设计。我也试过,它的作品。但我从来没有见过它在任何HTML教程之前,我在谷歌上搜索它,但它只显示
每当我收到来自 MS outlook 的电子邮件时,我都会收到此标记 & nbsp ; (没有空格)哪个显示为?在 <>. 当我将其更改为 ISO-8859-1 时,浏览器页面字符集编码为 UTF-8
p1
TESTp2
代码: from bs4 import BeautifulSoup soup = BeautifulSoup('p1TESTp2') print soup.div() 结果: [p1, p2] 为什么
我是一名优秀的程序员,十分优秀!