Как сделать быструю и безопасную синхронизацию на по необходимости?

Мои самые большие усиления находятся в отображении между базами данных и объектами (ORM).

, Если нет никакого понятия типа, становится очень легко сказать, присваивают каждый столбец подряд значению в объекте. Конечно, компромисс - то, что может быть несоответствие между типом значения, Вы думаете, там и что вводит компьютер, делает.

11
задан 3 revs, 2 users 100% 6 May 2012 в 17:14
поделиться

3 ответа

Ключевой частью вашего вопроса является «даже если и должно». Несомненно, за весь мой (слишком) многолетний опыт работы с Perforce, пользователи, которые обычно возвращаются к принудительной синхронизации, поскольку обычная синхронизация не делает то, что они ожидают, неправильно используют Perforce.

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

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

Если вы думаете, положите руку на сердце, что вы не делаете ничего необычного, а затем начните смотреть, какие другие процессы могут настраивать эти файлы. Например, вы создаете систему, делая что-то странное, и пытаетесь ли вы изменять файлы во время сборки? У вас есть открытый сетевой ресурс, в который, возможно, кто-то случайно ткнул? У вас есть резервная система, которая мешает?

Надеюсь, что это поможет.

18
ответ дан 3 December 2019 в 03:19
поделиться

Если вы создаете несогласованность, при которой по необходимости теряется отслеживание того, что происходит в вашем рабочем пространстве, вам следует использовать функцию «Согласовать автономную работу ...» (в P4V).

Это запустит проверку папок и сообщит вам, какие параметры у вас есть для устранения несоответствий.

В общем, убедитесь, что вы всегда извлекаете файлы явно через perforce (открыты для редактирования). Это кажется странным, если вы привыкли к другим системам.

4
ответ дан 3 December 2019 в 03:19
поделиться

Как упоминалось в других ответах, вам необходимо создать отдельный клиент (рабочее пространство) для каждого «экземпляра» дерево каталогов, синхронизированное из хранилища.

Если вы хотите принудительно синхронизировать только те файлы, которые были изменены из хранилища:

p4 diff -se ... | p4 -x - sync -f
p4 diff -sd ... | p4 -x - sync -f

Предупреждение: это перезапишет любые локально измененные файлы (в текущем каталоге и подкаталогах).

Если вместо этого вы отредактировали некоторые файлы и забыли сначала открыть их для редактирования, вы можете сделать это:

p4 diff -se ... | p4 -x - edit

, который откроет для редактирования любой файл, отличный от хранилища.

И это:

p4 diff -sd ... | p4 -x - delete

откроется для удалите все файлы, которые были удалены локально.

6
ответ дан 3 December 2019 в 03:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: