При добавлении/удалении файлов/изменении настроек изменится .xcodeproj. И если несколько человек пытаются сделать это в одном проекте, потому что SVN не такой умный, как git, это вызовет проблему каждый раз, есть ли способ обойти эту проблему, кроме разговоров со всеми каждый раз?Как работать с проектом iOS с SVN?
ответ
Я не разработчик XCode, но администрирование Subversion. Я считаю, что файл .xcodeproj на самом деле не файл, а каталог, содержащий информацию о проекте и информацию о пользователе. Subversion хранит этот каталог в репозитории как каталог. Это хорошо.
Файл project.pbxproj
внутри этого каталога содержит информацию о проекте, и это тоже должно быть сохранено в Subversion. Это настройка проекта.
Отдельные файлы * .pbxuser предназначены для конкретного пользователя и не должны находиться в репозитории SVN. Здесь ваша проблема остается.
Фактически, он находится в том, что Mac OS X притворяется, что некоторые каталоги представляют собой просто папки, содержащие информацию о ресурсе. Обычно это приводит к путанице разработчиков, поскольку их браузер показывает один файл, а не каталог.
XCode, вероятно, делает то же самое, если пользователь выполняет операции Subversion внутри XCode. (Я знаю, что Eclipse делает). И, если пользователь использовал командную строку Subversion, они сразу увидели бы, что некоторые файлы являются каталогами, и что Subversion работает так, как должно. Командная строка Subversion не будет иметь проблем с этими файлами .pbxuser.
Проблема обычно возникает, когда пользователи используют графический интерфейс Subversion, который использует Finder в качестве браузера, - например, способ использования TortoiseSVN в Windows использует Explorer. Это в сочетании с XCode может вызвать проблемы.
Лучший способ справиться с этим - создать крюк предварительной фиксации, который не сможет выполнить фиксацию, если пользователь попытается добавить в пользовательский файл * .pbxuser. (И удалить все файлы * .pbxuser из репозитория). Эти пользователи быстро научатся помещать эти файлы * .pbxuser в параметр игнорирования Subversion.
В Perl и Python есть довольно файлы для фиксации перехвата, которые могут справиться с этим.
Я думаю, что Xcode 4 имеет встроенную поддержку SVN, которая помогает с этими проблемами совсем немного.
К сожалению, многим разработчикам не нравятся встроенные средства управления версиями в среде IDE, и они настаивают на том, чтобы делать этот тип материала самостоятельно. Я не могу винить их. Обычно требуется довольно много настроек, чтобы заставить их работать, а затем выяснять, как делать что-то, кроме того, что проверка и удаление файлов может расстраивать. Если вы знакомы с другим клиентом SVN, почему бы просто не использовать это? Затем вы сталкиваетесь с известной проблемой «Это файл/Нет, это проблема с каталогом», которая не существует на любой другой платформе Unix/Linux. –
- 1. Использование git-svn с существующим проектом svn
- 2. svn problem - больше не может работать с моим проектом
- 3. Как работать над проектом с визуальной студией и eclipse
- 4. Как заставить MigLayout работать с моим проектом?
- 5. Как работать сборка apktool с проектом библиотеки?
- 6. Как интегрировать AdMob с проектом Unity iOS?
- 7. Теги/Документация с проектом SVN в Eclipse?
- 8. Как мы можем управлять проектом cordova с svn?
- 9. Как заставить Parse работать с проектом PCL Xamarin и MvvmCross?
- 10. Как использовать LibXtract с проектом iOS?
- 11. Как работать с моим проектом java eclipse с двух компьютеров?
- 12. Как работать с git в репозитории SVN
- 13. SVN - Как работать с каталогами, содержащими знак @?
- 14. Как работать с ветвями в XCode (SVN)
- 15. Как работать с веткой в SVN Eclipse?
- 16. Как работать в команде с проектом Asp.Net MVC 2 .. Нужно ли мне svn?
- 17. Как сделать svn: externals работать с Xcode 4?
- 18. iOS Passbook Как работать с
- 19. Что такое svn? и как использовать его с проектом?
- 20. sqlite3 не связан с моим проектом IOS
- 21. Как работать над проектом XCode с более чем одним разработчиком
- 22. Как заставить TeamCity работать с веб-проектом ASP.NET MVC 3
- 23. Как анализировать и работать с проектом Android без документации?
- 24. Как мне заставить zxing работать с моим проектом iPhone?
- 25. Как работать в VS2015 с проектом 2008 года без преобразования
- 26. iOS NSNotification Простые проблемы с проектом Xcode
- 27. Как работать с хранилищами SVN 1.7 с помощью Netbeans 7.1?
- 28. Apple наблюдает связь с приложением iOS с новым быстрым проектом и с существующим проектом obj c
- 29. Как работать с Subversion
- 30. Как синхронизировать два репозитория с одним проектом
В комплекте с проектом есть два файла: _username_.pbxuser и _username_.mode1v3. Ни один из них не нуждается в управлении версиями. – Caleb
@Caleb: Спасибо за дополнительные файлы. Как я уже сказал, я не разработчик, а инженер по строительству. Проблема, с которой я столкнулась с MacOS X, заключается в том, что ей нравится скрывать каталоги в файлах в Finder. Это отлично подходит для пользователя, но разработчики должны знать лучше. Если вы используете XCode для проверки и удаления файлов через SVN, он сделает «правильную вещь». Если вы используете клиент Subversion из командной строки, вы увидите, что определенные файлы на самом деле являются каталогами, и вы сами поправитесь. Если вы используете клиент SVI GUI, который зависит от Finder, вы каждый раз испортите. –