TortoiseSVN: коммит игнорировал меня? - PullRequest
0 голосов
/ 27 июня 2010

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

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

Итак ... что здесь происходит?Черепаха только что игнорировала меня и ничего не совершала (хотя и сказала, что это так)?Кто-нибудь еще имел эту проблему раньше?

Спасибо.

1 Ответ

2 голосов
/ 27 июня 2010

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

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

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

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

...