【问题标题】:Perforce Checkout Macro for XCode4 [duplicate]XCode4的Perforce Checkout Macro [重复]
【发布时间】:2011-04-03 20:36:42
【问题描述】:

我想在 XCode 4 中设置一个宏来从 Perforce 中检出当前文件。我怎样才能做到这一点?我确实没有将 perforce 集成到我的项目中,并且不希望这样做。这在 Visual Studio 中非常简单,但我不知道 XCode 等价物。

【问题讨论】:

    标签: xcode macros perforce


    【解决方案1】:

    刚刚在 Perforce.com 上发现了这一点,作为他们完成这项工作的手段。我试过了,还不错。

    http://answers.perforce.com/articles/KB/2997

    根据评论,它也适用于 Xcode 5。

    现在它已经在 Xcode 6 中进行了测试和工作!

    编辑: 如果这不起作用,并且您使用的是 OS X Mavericks,则此人修复了脚本以继续工作。只要确保脚本正确引用 p4 即可。我不得不将它从 /usr/local/bin/p4 更改为 /usr/bin/p4

    http://forums.perforce.com/index.php?/topic/2830-xcode-501-x-mavericks-perforce-integration-not-working/#entry11319

    【讨论】:

    • 升级了这个版本,因为“官方”Perforce 脚本包含一个消息对话框,告诉您是否有问题。同样值得一提的是,这在 XCode5 中也可以正常工作。
    • 链接似乎已失效。
    【解决方案2】:
    1. 确保“p4”命令行工具安装在“/usr/local/bin/”中。
    2. 确认您的 Perforce 环境变量配置正确。我在每个客户端工作区的根目录中使用了一个“perforce.rc”文件,其中包含客户端 (P4CLIENT) 和端口 (P4PORT) 的名称。不要忘记 P4USER、P4PASSWD、P4CONFIG 等...
    3. 在您的 ~/bin 文件夹中创建以下脚本,并确保权限设置为可执行(755 应该可以工作)。
    4. 转到 Xcode 中的首选项并选择“行为”。
    5. 向下滚动到“解锁文件”
    6. 向下滚动并选中“运行”旁边的复选框
    7. 选择“选择脚本...”并将其指向以下脚本:

    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 此脚本失败。

    【讨论】:

      【解决方案3】:

      试图让 XCode 与 Perforce 一起工作真是令人抓狂。这是我想出的解决方案:

      • 快速设置
      • 轻松融入您的肌肉记忆,因此您无需考虑签出文件
      • 根本不需要任何鼠标

      一次性设置如下:

      1. Decimus Software. 下载并安装免费的“DTerm”应用程序
      2. 确保您已安装 Perforce 命令行实用程序。在终端窗口提示符下键入“p4”,看看它是否识别此命令。如果没有,您需要转到Perforce's website 并找到并下载他们目前称之为“Perforce 命令行客户端 (P4)”的东西。没有安装程序;只需将其从浏览器直接保存到/usr/bin(或其他任何内容)并对其执行 chmod +x 即可。有关官方设置说明,如果您需要做任何自定义环境变量技巧,请参阅this tech note

      完成此操作后,假设您在 XCode 中并且正在查看要签出的源代码文件。这是rigamarole:

      1. 让文件显示在活动的 XCode 编辑器中
      2. 点击Shift Command Enter 获取 DTerm 窗口
      3. 输入p4 edit,然后点击Shift Command V粘贴活动文件的文件名,然后点击返回
      4. Perforce 会检出文件,DTerm 会向您显示状态/错误。
      5. 点击“escape”关闭 DTerm 窗口
      6. 开始在 XCode 中对文件进行更改。 XCode 可能(错误地)说该文件是只读的,因为它很愚蠢并且不知道它是从只读变为读写的,因此您必须点击允许编辑。起初我不相信它,并仔细检查了几次,但现在我盲目相信它在做正确的事情。

      我已经有一段时间没有设置它了,所以如果您遇到任何故障,请告诉我,我会在此处更新我的信息,以使其尽可能轻松。但除此之外,这是我找到的最佳解决方案。

      【讨论】:

        猜你喜欢
        • 2011-07-14
        • 2011-07-16
        • 1970-01-01
        • 2011-07-25
        • 2017-04-27
        • 1970-01-01
        • 1970-01-01
        • 2021-11-11
        • 2011-04-27
        相关资源
        最近更新 更多