В Perforce вы можете переименовать папку с тем же именем, но по-разному?
Можно ли переименовать папку в Perforce из//depot/FooBar/в//depot/Foobar/?
Я пробовал это, переименовывая из//depot/FooBar/в//depot/Temp/to//Depot/Foobar/, но конечный результат заканчивается так же, как//depot/FooBar/.
Ответы
Ответ 1
Как только он находится в Perforce, регистр остается установленным. Как упоминалось Йоханом, вы можете уничтожить, правильно установить имя и добавить его снова. Тем не менее, есть небольшая уловка....
Если кто-либо еще (работает под управлением Windows) уже синхронизировал версию с неправильным расположением, тогда, когда они снова синхронизируют правильную, это не изменит ситуацию на их ПК. Это особенность распознавания файловой системы Windows, но она по-прежнему принципиально независима от случая.
Если несколько пользователей синхронизированы, и их также не очень удобно удалять из-за-клиента (и взрывать папки со своих компьютеров), вы можете прибегнуть к темной и грязной технике Perforce под названием "Контрольная точка" хирургия". Это не для малодушного, но вы это делаете:
- Остановите свой сервер, возьмите контрольную точку.
- Используя ваш любимый текстовый редактор, который может обрабатывать файлы с несколькими мегабайтами, выполните поиск и замените все происшествия старого имени с новым. Конечно, вы можете использовать script.
- Повторите свой файл контрольной точки, чтобы воссоздать метаданные базы данных Perforce.
- Перезагрузите сервер.
Это будет влиять на все пользовательские спецификации клиента прозрачно, и поэтому, когда они синхронизируются, они получат правильный случай, как по волшебству.
Звучит волосато, но мне приходилось делать это до и до тех пор, пока вы берете на себя заботу, резервное копирование, выполняете пробный запуск и т.д., тогда все должно быть в порядке.
Ответ 2
Возможно, больше не нужен, но здесь официальный Perforce HowTo об изменении файлов в Windows и Unix: http://answers.perforce.com/articles/KB/3448/?q=change+file+case
Ответ 3
Я не уверен в каталогах, но у нас была эта проблема с файлами. Чтобы исправить это, мы должны удалить файл, отправить это изменение, затем p4 добавить файл с правильным случаем и отправить второе изменение. После этого пользователи unix, которые синхронизировали файл с неправильным файлом, должны синхронизировать p4, затем физически удалить файл (потому что p4 не обновит этот случай), а затем p4 sync -f файл.
Наш сервер находится в Windows, так что это может иметь значение.
Ответ 4
Я думаю, что он обрабатывает файлы и папки одинаково.
Для файлов:
Это зависит от того, есть ли у вас Windows или Unix-сервер. У нас есть эта проблема с нашим сервером perforce Windows (в каких версиях наш код Java), где иногда кто-то проверяет файл с проблемой case (тогда это вызывает ошибки компиляции, потому что это Java). Единственный способ исправить это - стереть файл и повторно отправить его с правильным случаем.
Ответ 5
Я думаю, вы должны удалить Perforce Cache, чтобы ваша модификация была показана.
Вы можете переименовать с ABC переименовать в abc_TMP, затем abc_TMP переименуйте в abc, затем очистите кеш.
Устанавливает очистку кеша:
- Откройте домашнюю папку пользователя Windows (в Windows7 == > C:\Users \)
- Найдите папку с именем ".p4qt"
- Переименуйте папку в папку "old.p4qt"
- Запустить Perforce, теперь все работает!
ПРИМЕЧАНИЕ. Эти шаги оставят ваши настройки по умолчанию.
Ответ 6
Вопрос более 3 лет, но я столкнулся с проблемой, подобной этой, делая импорт Subversion в Perforce, и решил, что информация, которую я получил, может быть полезна для некоторых. Это похоже на стирающий метод, но помогает сохранить историю. Вы используете дублируемую команду, которая, возможно, не была доступна тогда, чтобы сохранить историю. Процесс в основном:
- Дублировать временное местоположение.
- Уничтожьте местоположение, которое вы просто дублировали.
- Дубликат из временного местоположения в место переименованного случая.
- Уничтожить временное местоположение.
Благодаря этому вы сохраняете историю изменений файлов, но также получаете их все на новом пути. К сожалению, история изменения пути не будет, но это кажется неизбежным. Как и другие методы, упомянутые здесь, пользователям необходимо вручную переименовать каталоги в своей рабочей области или удалить и повторно синхронизировать, чтобы получить новое имя пути.
Кроме того, P4V кэширует пути, которые он показывает в дереве, поэтому после этого он все равно может отображаться как старое имя. однако команда p4 dirs покажет новый случай.