LINUX.ORG.RU
ФорумTalks

[SVN] [Help!] [Help!] При выполнении svn update потерял свои локальные изменения. Что делать?

 


0

0

Здравствуйте!

Прошу помощи, господа! Вопрос задан тут:

Форум - Development - [SVN] Как восстановить свои изменения после update?
http://www.linux.org.ru/view-message.jsp?msgid=4309141&lastmod=1260174420630

Отпишитесь плиз кто знает!


Автоматом объединились файлы с кодом, вот их и надо восстановить.

Если ты уверен в том, что они объеденились, то может стоит посмотреть diff'ы локальных(которые у тебя после svn update) с теми, что сейчас на svn? Хотя сложно представить какая каша там будет твориться.

Andru ★★★★
()

Разреши конфликты, потом сделай svn diff, это и будут твои изменения.

anotheranonymous
()
Ответ на: комментарий от anotheranonymous

>А что в других vcs по другому будет?

Это я отразил сейчас внутреннее состояние ТС, против svn ничего не имею.

Turbid ★★★★★
()
Ответ на: комментарий от anotheranonymous

А что в других vcs по другому будет?

Ну например clearcase предложит сделать merge и не будет удалять локально изменённые файлы...

bebebe
()
Ответ на: комментарий от lester

> cvs в таких случаях копирует локальные файлы с изменениями в name_of_file.h.r15876

В каких «таких» - при успешном update?

tailgunner ★★★★★
()
Ответ на: комментарий от lester

> при update, если есть незакомиченные изменения

Не припомню такого поведения CVS - IIRC, она молча мержит изменения. Правда, и не юзал ее лет 10 уже.

tailgunner ★★★★★
()
Ответ на: комментарий от isden

>в cvs, при update, локальные изменения никуда не херятся.
Также как и в svn, ага

anotheranonymous
()
Ответ на: комментарий от anotheranonymous

>> В приличных VCS нет деструктивного update.

Никуда свн не девает локальные изменения при update, школота.

Нихрена ты не понял, а еще взрослый.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> > при update, если есть незакомиченные изменения

Не припомню такого поведения CVS - IIRC, она молча мержит изменения.


оно просто говорит что вон тот файлик надо пропатчить и ничего само не делает.

isden ★★★★★
()
Ответ на: комментарий от lester

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

Syncro ★★★★★
()

Ну так что решили - в SVN деструктивный UPDATE или нет?

Я тут ручками половину восстановил. Немного помогли файлы, которые были в ./svn/tmp. Некоторые файлы оказались файлами до UPDATE, некоторые - какой-то странной помесью «откаченых» и того кода, который я дописывал. Некоторых частей кода, который я дописывал, вообще нигде не оказалось. Но так как у меня ведется подробный лог что я делаю, я этот код достаточно точно скорректировал заново.

Щас буду вторую половину доделывать.

xintrea
() автор топика
Ответ на: комментарий от tailgunner

>> А что в других vcs по другому будет?

В приличных VCS нет деструктивного update.

ты вопрос читал? они там svn не используют даже в качестве vcs, его друг файлы напрямую в хранилище копирует, тут вообще о приличности систем рассуждать нелогично.

name_no ★★
()
Ответ на: комментарий от name_no

> его друг файлы напрямую в хранилище копирует

O_O а зачем vcs тогда вообще?

isden ★★★★★
()
Ответ на: комментарий от name_no

>> В приличных VCS нет деструктивного update.

ты вопрос читал?

Да.

они там svn не используют даже в качестве vcs, его друг файлы напрямую в хранилище копирует

И что? Это один из возможных (и запроектированных) сценариев использования SVN (если, конечно, его «друг» не копирует файлы при помощи cp прямо в каталог с fsfs backend).

А жалоба ТС, насколько я ее понял, в том, что SVN неаккуратно обошлась с его рабочей копией.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Когда происходит update, ревизия не создается. Ревизия создается при коммите.

xintrea
() автор топика
Ответ на: комментарий от xintrea

> Можон на пальцах объяснить что делает эта команда?
Обновляет рабочий каталог до указанной ревизии. Вот только незакоммиченные локальные изменения эта команда не вернёт.

Nao ★★★★★
()
Ответ на: комментарий от xintrea

> # svn up -r предыдущаяревизия

Можон на пальцах объяснить что делает эта команда?

То, что сказал предыдущий оратор. Или можно сформулировать по-другому: svn up -r N двгает рабочую копию и незафиксированные изменения в ней с одной ревизии на другую, вперед или назад по времени. Это ограниченная форма merge, фактически - в товю рабочую копию мержатся изменения ревизий BASE:N,

А вообще, SVN Book ждет тебя. Или Mercurial Book.

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.