xcode4 не поддерживает Perforce? - PullRequest
7 голосов
/ 14 марта 2011

xcode4 не поддерживает Perforce?

Я добавляю репозиторий в xcode4.Только subversion и Git на выбор.

как добавить репозиторий Perforce?

спасибо.

Ответы [ 4 ]

8 голосов
/ 02 июня 2011

Также полезно отметить, что в настройках / поведениях есть настройка для добавления поведения к конкретным действиям. Одним из них является файл разблокировки, который можно привязать к сценарию оболочки, как показано здесь:

#!/bin/sh

RESULT=`/opt/local/bin/p4 edit  ${1#file://localhost} 2>&1`
SHRESULT=$?
while [ $SHRESULT -ne 0 ] 
    do
    SCRIPT="tell application \"XCode\" to display dialog \"$RESULT\" buttons {\"Try again\",\"Cancel\"} default button 1"
    osascript -e "$SCRIPT"
    if [ $? -ne 0 ]
    then
        break
    fi
    RESULT=`/opt/local/bin/p4 edit  ${1#file://localhost} 2>&1`
    SHRESULT=$?
done  

exit $SHRESULT

Чтобы вызвать редактирование p4, когда редактору нужно начать вносить изменения.

Это было обновлено, чтобы вывести диалоговое окно, если редактирование p4 не выполнено. Это будет повторять попытки, если вы нажмете «Попробовать снова», и остановится, когда вы нажмете «Отмена», что особенно полезно, если у вас случился истечение срока действия вашего логина в первом случае или если вы не подключились к вашему серверу во втором месте .

К сожалению, похоже, что код завершения не проверен, чтобы убедиться, что разблокировка прошла успешно, и похоже, что в этом случае Xcode меняет файл на r / w, поэтому будьте осторожны, когда вы получаете сообщение об ошибке, что вы либо получите редактирование, чтобы преуспеть или отредактируйте файл позже.

Очевидно, что это только решает проблему разблокировки / редактирования файлов, но я считаю, что мне все равно нравится использовать p4v для отправки.

Несколько клиентов / рабочих пространств

Для тех из вас, кто может использовать несколько клиентов на одной и той же машине (то, что мы делаем сейчас, когда мы чаще используем Streams с Perforce), может быть сложно убедиться, что правильный клиент используется для работать с файлом, который вы редактируете.

Для нас мы нашли самое простое исправление - использовать P4CONFIG для обозначения конкретного файла конфигурации Perforce. В нашем случае мы обычно используем .p4config-<user/host>, таким образом, у меня может быть .p4config-laptop-gaige, и я могу выбрать его, если необходимо, без вмешательства в .p4config-desktop-gaige. Внутри файла .p4config мы устанавливаем P4CLIENT, и это гарантирует, что команда p4 знает, какой поток использовать.

4 голосов
/ 26 марта 2011

Я собрал пару сервисов Automator, которые позволяют вам связывать горячие клавиши для редактирования p4 / добавления p4 для открытого в настоящий момент файла в Xcode 4. Это не идеально, но это лучше, чем переключение на терминал или p4v.

https://github.com/jcohen/xcode4-perforce-services

3 голосов
/ 14 марта 2011

Поддержка перформанса была официально удалена из Xcode 4. Если они не добавят ее обратно, вам придется придумать что-то еще.

1 голос
/ 14 марта 2011

Техника, которую я упомянул в , этот вопрос работает и для Perforce. Фактически, это было мое первоначальное использование DTerm.

Поскольку поддержка Perforce была серьезно нарушена в Xcode 3.0, я использовал DTerm для проверки файлов и получения их статуса в течение нескольких лет.

...