Как правильно реорганизовать отдельный файл в несколько файлов и сохранить историю версий в Perforce? - PullRequest
14 голосов
/ 17 февраля 2011

У меня есть файл, который стал слишком большим, и должен быть преобразован в два меньших файла.Каков наилучший способ сделать это в Perforce, чтобы сохранить связь с исходным файлом?

Я добавляю два новых файла и удаляю оригинал в этом случае, но я ожидаю, что будут некоторыеОбщее решение этой проблемы.

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

Было бы лучше, если бы операция могла быть выполнена в одном списке изменений, чтобы избежать каких-либо проверок, которые могут нарушить сборку.

Ответы [ 3 ]

11 голосов
/ 17 февраля 2011

Этого нельзя сделать за одну проверку, но, безусловно, это можно сделать, не "нарушая сборку".Допустим, вы хотите разделить bigFile.cs на smallFile1.cs и smallFile2.cs.Сначала интегрируйте большой файл в два маленьких файла и отправьте их.

p4 integrate bigFile.cs smallFile1.cs
p4 integrate bigFile.cs smallFile2.cs
p4 submit

Теперь у вас есть два дополнительных файла в каталоге проекта, но они не причиняют вреда.Теперь проверьте smallFile1.cs и smallFile2.cs и ваши файлы проекта.Добавьте ссылки на файлы меньшего размера, удалите ссылку на большие файлы, соответственно отредактируйте маленькие файлы и т. Д. Наконец, отметьте bigFile.cs для удаления и отправьте изменения.

Теперь вы разбили большой файл на двафайлы меньшего размера и история файлов меньшего размера покажет вам их происхождение.

6 голосов
/ 17 февраля 2011

Вы можете использовать команду integrate .

Когда вы внесли изменения в файл, который необходимо распространить на другой файл, запустите процесс с помощью p4 integrate.

Упрощенная форма командыbe

p4 integrate fromFile toFile

Поэтому я бы выполнил следующие задачи:

  1. запустите p4, интегрируйте с toFile , являющимся новым файлом, и fromFile являясь большим исходным файлом
  2. p4, отправьте
  3. p4, отредактируйте fromFile и toFile , чтобы они были меньшими версиями оригинала.
  4. p4 submit

При использовании этого метода информация об истории файлов сохраняется в такте для всех будущих версий файлов.

4 голосов
/ 18 февраля 2011

Это на самом деле можно сделать за один раз.Шаги заключаются в следующем:

  1. интегрировать из исходного файла в оба файла назначения, как и ворон, и Скотт Саад предлагают
  2. перед отправкой новых файлов, выполните p4 edit на обоихфайлы
  3. вносить изменения
  4. p4 submit

Полная история файлов отображается на графике ревизий и в покадровом режиме.Единственный недостаток, который я вижу в пропуске промежуточной отправки, заключается в том, что тип действия изменяется с «интегрировать» на «добавить».Из-за этого другие люди могут не осознавать, что в истории файлов есть что-то большее.

Я думаю, что я немного предпочитаю процесс повторной регистрации.

...