- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Perforce 版本控制系统 ( http://www.perforce.com/ ) 并希望在开发人员将他们的文件提交给 Perforce 时格式化源代码文件(主要是 XML)。我知道 Git 和 SVN 允许为此提供的脚本 Hook 。
有没有办法使用某种 Hook 来更改提交给 Perforce 的文件?我怎样才能在 Perforce 上做到这一点?
谢谢!
最佳答案
当我过去使用这些类型的策略执行工具时,我是在提交后完成的。
也就是说,提交完成后,我的工具会检索新提交的文件,根据我正在执行的策略重新格式化它们,然后将重新格式化的文件作为后续变化。
我通过编写一个监控变更的工具来实现这一点,其方式类似于变更审查守护程序监控变更的方式,以便该工具注意到新提交并审查新文件以查看它们是否符合组织政策。
我通常让工具在提交之前执行“revert -a”,这样如果文件根据原始开发人员的政策进行格式化,就不会发生第二次提交。
我实际上认为这是一种比在提交期间尝试这样做更好的方法:
关于version-control - Perforce - 带有预提交 Hook 的源代码格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23927677/
我想要命令检查我是否已经登录 perforce,如果我登录则返回 0,否则返回一些非零值来表示错误。如何从命令行实现这一点? 最佳答案 p4 help login说: p4 login [-a -p]
我有几个类似的基于代码分支的顶部和 perforce 的同一个工作区的待定更改列表。我需要区分它们并(最终)将它们合并到一个更改列表中。最快和最简单的方法是什么?我宁愿避免创建一个临时分支。 最佳答案
我知道 //depot/foo/... 将映射 //depot/foo/ 下的所有文件和文件夹。那么,//depot/foo/* 有什么作用呢?我被告知不要使用它,并想了解原因。 最佳答案 ... 递
假设,我有两个变更列表 A 和 B(位于 A 之上)。 现在,我只想要在 B 中完成的更改,而不是包含在 A 中的更改,即 B-A 有可能这样做吗? 最佳答案 是的。做: p4 undo @A,A p
当我在我的 perforce 工作区中运行 p4 info 时,它会向我显示我的工作区的一些 perforce 客户端信息。但我想看看它到底是从哪里获取这些信息的。我尝试用谷歌搜索它,但到处都只讲述该
我需要使用带有更改列表的文件规范来运行一些 p4 命令,但我不想在子文件夹中包含文件。通常语法是: //depot/projectA/...@1234 但是,这包括所有子文件夹。如何将结果限制为仅适用
两个文件最终出现在我的 Perforce Depot 中,内容不同,但只有名称的大小写不同: //depot/path/to/file/readme.txt //depot/path/to/file/
是的,我工作的公司仍在使用 perforce。工作区是本地的一组文件。但是 p4 client 和 workspace pls 之间的关系是什么? 最佳答案 它们本质上是同义词。 “客户端”通常是“客
是的,我工作的公司仍在使用 perforce。工作区是本地的一组文件。但是 p4 client 和 workspace pls 之间的关系是什么? 最佳答案 它们本质上是同义词。 “客户端”通常是“客
有时我会“标记为添加”并将文件添加到 Perforce,但实际上我并不希望 Perforce 担心。 有没有办法恢复它,使其在 P4V 中显示为“未跟踪”项目? 看我的例子: 我错误地添加了 mil.
我在 Windows 上的同一目录中有两个 perforce 工作区根目录。例如: C:\Perforce_windows_workspaces\wkspc1 C:\Perforce_windows_
当我运行 p4 files ... 和 p4 dirs ... 时,所有返回值都具有相对于 depot 根文件夹的路径。是否有与返回实际工作区路径的 files 和 dirs 具有相同功能的命令? 最
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
我有一个很大的 Perforce depot,我相信我的客户端目前有大约 2GB 的文件与服务器同步,但是验证我的文件是否完整、同步和最新到给定更改级别的最佳方法是什么(这可能比目前客户端上的少数文件
假设我在 //depot/MyProject 下有一个项目.在变更列表 1001 中,这个项目在方向上发生了重大变化,改变了它的一切。在 2001 年的变更列表中,它得到了 p4 delete d.该
如果我将代码库 checkin perforce,排除目录的正确方法是什么?我注意到从工作区中删除文件夹会将其从库中排除,但这是正确的方法吗? 谢谢 最佳答案 如果您要排除的目录根本不应该受版本控制,
我想获取我当前客户端规范的仓库中的最新更改列表。如果我做了 p4 sync,这将有效地同步到更改。在我的工作区。 我试着做 p4 changes -s submitted -m1 -c [client
我正在使用“我的”Perforce 分支,修复代码中的一些小问题。我时不时地与另一个分支(“main”)集成。 每次提交到“我的”分支时,我都会编写大量的更改列表描述。当我集成时,我希望合并(“my-
使用 perforce,用户可以通过在 Reviews 中指定特定文件或目录的更改来获取电子邮件通知。用户记录的字段(在 Perforce documentation 中有更多详细信息)。 但是,我希
P4 一直想要提交一些磁盘上不存在的文件: open for read: : The system cannot find the path specified. 知道如何让 P4 忘记它们吗? 最佳
我是一名优秀的程序员,十分优秀!