【发布时间】:2011-04-03 20:36:42
【问题描述】:
我想在 XCode 4 中设置一个宏来从 Perforce 中检出当前文件。我怎样才能做到这一点?我确实没有将 perforce 集成到我的项目中,并且不希望这样做。这在 Visual Studio 中非常简单,但我不知道 XCode 等价物。
【问题讨论】:
我想在 XCode 4 中设置一个宏来从 Perforce 中检出当前文件。我怎样才能做到这一点?我确实没有将 perforce 集成到我的项目中,并且不希望这样做。这在 Visual Studio 中非常简单,但我不知道 XCode 等价物。
【问题讨论】:
刚刚在 Perforce.com 上发现了这一点,作为他们完成这项工作的手段。我试过了,还不错。
http://answers.perforce.com/articles/KB/2997
根据评论,它也适用于 Xcode 5。
现在它已经在 Xcode 6 中进行了测试和工作!
编辑:
如果这不起作用,并且您使用的是 OS X Mavericks,则此人修复了脚本以继续工作。只要确保脚本正确引用 p4 即可。我不得不将它从 /usr/local/bin/p4 更改为 /usr/bin/p4。
【讨论】:
xcodeunlock.sh
#!/bin/bash
# Xcode4 doesn't setup the environment
source ~/.bashrc
# Delete the URL part from the file passed in
fn=${BASH_ARGV#file://localhost}
echo "fn=" $fn
if [ -a ${fn} ]; then
res=$(/usr/local/bin/p4 edit ${fn})
# TODO: Report the status back to the user in Xcode
# This output goes to the console.
echo $res
else
echo "FnF" ${fn}
fi
一旦设置正确,在 Xcode 中解锁文件应运行此脚本并尝试签出文件。不幸的是,任何输出都会转到“/var/log/system.log”。我不确定如何通知 Xcode 4 此脚本失败。
【讨论】:
试图让 XCode 与 Perforce 一起工作真是令人抓狂。这是我想出的解决方案:
一次性设置如下:
/usr/bin(或其他任何内容)并对其执行 chmod +x 即可。有关官方设置说明,如果您需要做任何自定义环境变量技巧,请参阅this tech note。完成此操作后,假设您在 XCode 中并且正在查看要签出的源代码文件。这是rigamarole:
Shift Command Enter 获取 DTerm 窗口p4 edit,然后点击Shift Command V粘贴活动文件的文件名,然后点击返回我已经有一段时间没有设置它了,所以如果您遇到任何故障,请告诉我,我会在此处更新我的信息,以使其尽可能轻松。但除此之外,这是我找到的最佳解决方案。
【讨论】: