首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >强制脚本:每当远程仓库的文件被更改时同步

强制脚本:每当远程仓库的文件被更改时同步
EN

Stack Overflow用户
提问于 2015-05-05 12:05:14
回答 1查看 588关注 0票数 0

我有一个绝对的客户工作区和一个远程仓库。我正在尝试编写一个Python脚本,每当在该仓库中添加或更改一个新文件时,该脚本就会定期将远程仓库同步到我的客户端工作区。我在这里查看了P4P API和一个非常有用的answer,并对如何实现这一点有了一个模糊的想法:-

代码语言:javascript
复制
from P4 import P4, P4Exception
p4 = P4()
p4.port = "1"
p4.user = "User"
p4.client = "Client"

try:
    p4.connect()
    changelist = p4.run_filelog('//server/folder/...@yyyy/mm/dd,@now')
    for r in changelist:
      print r.depotFile #does this print the contents of the changed file??
      print r.revisions[0].time #does this print the change time?

except P4Exception:
    for e in p4.errors:
        print e

finally:
    p4.disconnect()

如果r.depotfile返回文件及其内容(相当于p4打印),则可以使用该文件进行进一步处理。在仓库发生变化时,是否有定期执行此操作的方法?请指出正确的方向。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-05 13:31:14

您没有提到您使用的是哪个平台,但是现在的所有主要平台(Linux、Mac、Windows)都有"cron“或”计划任务“功能的概念,可以定期运行您的程序。

例如,我曾经有一个网站,每当一个新的文件被签入Perforce时,我都会更新它。为此,我安排了一个任务,该任务每分钟运行一次,并运行一个“同步”命令。如果没有签入新文件,则同步找不到任何要做的事情(因此,什么也不做);如果签入了新文件,则同步将它们复制到我的web服务器的内容区域。

因此,您可以编写一个程序,就像您已经编写的那样,从Perforce获取有趣的文件,然后使用操作系统的cron或计划任务工具来根据需要经常运行您的程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30052486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档