2010-05-04 2 views
19

Я только что сменил работу. Мой предыдущий работодатель использует Subversion, мой новый работодатель использует Perforce.Perforce для пользователя Subversion?

Есть ли какие-либо ресурсы, которые помогут мне, как пользователь , изменить мою ментальную модель от Subversion до Perforce? Каковы аналоги общих команд SVN? Какие концепции реализованы по-разному?

Меня не интересуют все плюсы и минусы Perforce vs Subversion - решение принято. Есть много других вопросов по S.O. охватывая это. Я хотел бы знать, какую умственную перестройку мне придется сделать (или нет).

ответ

6

Perforce and Subversion очень похожи, оба они обладают атомарным фиксацией групп файлов и разветвлением на основе маршрута.

неволей имеет:

а) В ожидании Изменения - вы можете группировать файлы, которые вы редактируете в группы и управлять группами.

b) Клиентские характеристики - вы можете сопоставить хранилище с местным рабочим пространством в довольно сложных схемах.

c) Нет внешних - поэтому вы не можете сопоставить одну и ту же часть репозитория с несколькими местоположениями на рабочем пространстве или сопоставить другие репозитории с суб-dir в рабочем пространстве.

d) Слияние, которое является новой функцией для Subversion.

e) Сильные подключения к серверу: вы должны сообщить серверу перед редактированием файла, и сервер использует эту информацию, чтобы сохранить хорошее представление о вашем локальном рабочем пространстве, что делает обновления быстрее.

4

Несколько вещей приходят на ум (я использовал perforce четыре года назад - все могло измениться).

  • блокировка - perforce требует, чтобы вы заблокировали файлы, над которыми работаете. Subversion нет.
  • changelist - changelist являются базовыми для работы с perforce. Каждое совершение является списком изменений. Они менее важны в подрывной деятельности.

This blog post может помочь вам сделать переход.

+1

Что касается блокировки: неволей _may_ требуют, чтобы получить блокировку файлов, которые вы работаете. Тем не менее, он _does_ требует, чтобы вы уведомили сервер, что вы работаете над файлами (в отличие от подрывной деятельности, из того, что я помню). –

+0

@ Caleb Huitt - cjhuitt - я не мастер с Perforce, но из того, что я видел, я считаю, что Perforce блокирует любые локальные файлы, которые вы не проверили. Это самая большая разница между Perforce и Subversion и, на мой взгляд, самая большая головная боль при создании переключателя. Однако он не блокируется на * сервере *. Несколько пользователей могут проверить один и тот же файл, и Perforce попытается объединить их. – rtperson

+3

Будьте осторожны с терминологией - Perforce делает файл только для чтения. Это не «блокировка», которая представляет собой разную функциональность для систем управления источниками - например, вы можете пометить файлы в Perforce, которые должны быть заблокированы перед редактированием. И SourceSafe (я думаю) требует, чтобы вы заблокировали все файлы перед их редактированием. –

2

Даже если это не самая современная презентация, у вас все еще есть хороший массив функций (в Perforce и SVN) в this document.

Может быть полезно прочитать Perforce Branch Naming and Repository Structure Guidelines, так как его структура немного похожа на структуру в SVN: Perforce использует структуру репозитория для представления ветвей, а также других структур каталогов.

1

Я только что спустил другое направление. Мой предыдущий работодатель использовал Perforce (Linux-серверы, Mac & клиентов Windows), мой новый работодатель переходит на SVN. Вот что я натолкнулся на:

  • Я не пропущу ветви Перфорса. Однако это могло быть средой.
  • Вы должны заблокировать! Но по крайней мере вы можете настроить несколько блокировок и проверок.
  • I hated Командная строка Perforce, вы можете привыкнуть к ней, но она никогда не была простой.

Я по-прежнему не являюсь поклонником Perforce, поэтому ymmv. В основном привыкнуть к использованию предоставленных пользовательских интерфейсов, запираться по мере необходимости вашим работодателем и быть осторожным, с каким списком изменений вы работаете (очень легко зарыться в списки изменений).

0

Perforce - это SOOOO намного быстрее SVN, потому что все выписки хранятся на сервере, поэтому нет необходимости проверять каждый файл при обновлении. SVN работает намного лучше при отключении от сети - с Perforce вы должны сообщить серверу, когда вы сделали чек. Это графический интерфейс Windows действительно хорош. Командная строка не так проста, как SVN. Google использует его!

1

Я тоже сейчас изучаю Perforce, и то, что было бы полезно для меня, является руководством к командам P4, которые эквивалентны командам SVN. Начну (кто-то более опытный радушен, чтобы развернуть/редактировать этот ответ):

svn commit  ... p4 submit 
svn update  ... p4 sync 
... 
+3

Вот официальный документ от Perforce с SVN <-> Команды P4: http://kb.perforce.com/article/301/mapping-subversion-terms-and-commands-to-perforce – Janek

Смежные вопросы