2010-06-27 2 views
0

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

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

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

Спасибо.

+1

Доверяя кому-то еще, что вы даже не знаете с вашей единственной копией своего хранилища, мне кажется плохой идеей. Вероятно, лучшей альтернативой может стать одна из тех распределенных систем управления версиями, как git или mercurial, где (если я правильно понимаю) вы можете сохранить основное репо на локальных дисках * и * на удаленном сервере, нажав и потянув за собой изменения между ними по мере необходимости. Если сервер вернется к резервному копированию в последние месяцы, вы вытащите все эти изменения из одной из ваших копий. Однако не то, что я сделал, но, возможно, стоит исследовать, если вы хотите сохранить свои основные репозитории в Интернете. – Steve314

+0

Никто не сказал, что это мой единственный экземпляр. У меня есть один на своем жестком диске, другой - в флеш-памяти, а другой на сервере. Кроме того, я не потерял тот, что был на сервере: они обновляли некоторые вещи, и это было на мгновение недоступно. Я вернул его. – Alix

ответ

2

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

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

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

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

+0

jdehaan, спасибо за ваш ответ. Я проверил страницу поддержки freepository.com, и есть другие люди с этой проблемой. По-видимому, они занимались техническим обслуживанием. Благодаря :) – Alix