- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当对搁置的文件使用以下 p4 命令时,差异也会附加在输出的末尾。
> p4 describe -S 1529307
Change 1529307 by who@client on 2015/09/10 14:03:56 *pending*
Comment
Shelved files ...
... //depot/projects/afile.py#4 edit
Differences ...
==== //depot/projects/afile.py#4 (text) ====
1c1
< testing1-2-3-4-5-6-7
---
> testing1-2-3-4-5-6-7-8-9-10
但是,在 P4Python 中执行类似操作时,从 run('describe -S') 函数返回的数据不包含版本差异。
{
'status': 'pending',
'code': 'stat',
'depotFile0': '//depot/projects/afile.py',
'changeType': 'public',
'action0': 'edit',
'fileSize0': '28',
'shelved': '',
'client': 'client',
'user': 'who',
'time': '144036',
'rev0': '4',
'digest0': '8C425B5CF',
'data': '',
'type0': 'text',
'change': '1529307',
'desc': 'Comment\n'
}
我能想到的唯一解决方法是使用此处的软件仓库路径来查找文件,然后将其与软件仓库中的先前版本进行比较。不过我仍然认为应该有一种更简单的方法将该信息嵌入到 P4Python 中。
谢谢!
最佳答案
我目前提出的解决方案如下。我希望 P4Python 尽快提供一种自动化的方式,以可视化搁置更改的差异。如果您有更好的解决方案,请随时告诉我。
data = p4obj.run('describe -S ' + str(changelist))[0]
files = []
i = 0
while data.has_key('depotFile'+str(i)):
files.append((data['depotFile'+str(i)],data['rev'+str(i)],data['action'+str(i)]))
i += 1
for f in files:
name = f[0]
oldRev = str(int(f[1]))
oldFile = tempfile.mktemp()
oldFilespec = '%s#%s' % (name, oldRev)
p4.runinteractive('print -q %s > %s' %(oldFilespec, oldFile))
editedFile = tempfile.mktemp()
editedFilespec = '%s@=%s'%(name, changelist)
p4.runinteractive('print -q %s > %s' %(editedFilespec, editedFile))
DiffTwoFiles(oldFile, editedFile, label1=oldFilespec, label2=editedFilespec)
关于python - P4 Python - 描述搁置的文件更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32512302/
嗨,这是我的搁架条目结构 { 'Birds' : { 'BlueOnes': ["detailsAboutBlueBird"], 'RedOnes' : ["d
是否可以对已打开的文件使用搁置?我想执行如下操作,但 shelve.open 不接受文件描述符。 f = open('file.shelve') s = shelve.open(f) 最佳答案 搁
搁置 documentation说: The choice of which database package will be used (such as dbm, gdbm or bsddb) de
我正在使用 Pycharm。首先,无论何时在 Pycharm 中导入任何模块。完整的导入行淡出。但如果 import shelve 不会淡出。此外,当我运行该文件时,出现以下错误: Traceback
我已搁置文件a.txt, b.txt, c.txt . 现在我想对 a.txt 和 b.txt 进行一些更改,并与新文件 d.txt 一起搁置。 所以, 第一步,使用 p4 unshelve -s
我有一个包含大量文件的更改列表。我必须处理其他请求,所以我使用 p4 shelve -c 899 搁置了更改.但是当我打开 p4 时,文件仍然显示在工作区中。 由于数量很大,我想一次还原所有文件。我试
我在 Python 中使用 Shelve 时遇到问题: In [391]: x Out[391]: {'broken': {'position': 25, 'page': 1, 'letter': '
我正在尝试将一个字典的字典添加到搁置文件中: >>> d = shelve.open('index.shelve') >>> d >>> print(list(d.keys())) [] >>> d
我创建了一个名为 foo_module.py 的文件,其中包含以下代码: import shelve, whichdb, os from foo_package.g import g g.shelf
我是 Team Foundation Server 的新手,所以我想知道“搁置待处理更改”在 Team Foundation Server 中的作用是什么。我正在 Codeplex 上使用项目的 TF
我正在从 .nib 文件创建 .strings。也就是说,我正在将 .nib 文件更改为 Xcode 9.2 上的本地化字符串文件。 现在我得到了 .strings 文件,其中包含所有需要的字符串和根
我使用 Git 进行版本控制,Android Studio 与它很好地集成,非常喜欢! 但现在,我做了“VCS->搁置更改...” 然后 POOF,他们不见了。我以为我需要使用存储,但后来我想让我们看
我使用搁置看到了这种行为: import shelve my_shelve = shelve.open('/tmp/shelve', writeback=True) my_shelve['a'] =
我正在使用 shelve 来存储一些数据。 Traceback (most recent call last): File "rogue.py", line 312, in curs
我是一名优秀的程序员,十分优秀!