CVS тагове

2 отговора 71 прегледа
#1

CVS тагове

По принцип този въпрос е за Програмисти, но за всеки случай ...

Значи имам CVS, в който държа изходния си код. В един момент е направен branch таг, в който стои версия на кода за конкретен клиент; в него се правят разните там bug-фиксове за него, а в основия branch правя разработката.

Напоследък събирам тези фиксове в основния клон, който се предполага някой ден да замени кода от branch-а. И аз оптимистично реших, че този branch таг вече не ми трябва и смело и както нищо чудно да се окаже, безотговорно го изтрих.

Проблемът ми е, че до деня X може да се наложи да направя фикс за клиентите, а техния branch таг вече го няма. Не че не мога да направя нов, базиран на последния таг, ама идеята не ме кефи много. А вече е късно да възстановява от backup - слагано е поне 10-на пъти в repository-то. Че може да се направи ... може, ама ме е страх да не сбъркам, пък и нямам време за това.

Та въпросът ми е има ли начин да кажа "направи таг, който почва от еди-къде си (където е бил branch таг-а), ама така че да е branch таг..." в смисъл да възстановя мазалото. Т.е. като кажа cvs co -r този-таг да се извади кода в състоянието на последния таг и като върна с cvs commit да си иде където трябва.

Надявам се ме разбрахте

Редактирано от Masklin на

Отговор
в отговор на Masklin #2

Re: CVS тагове

Не съм сигурен, че те разбрах, но ще се опитам да ти отговоря :)

IIRC можеш да направиш branch където си поискаш:

cvs rtag -b -r ABC

или ако нямаш tag,

cvs rtag -b -D '30 Feb 1225'

Оттам нататък е твоя работа да merge-неш последните промени обратно в този branch...

Правилно ли съм разбрал какво искаш?

Отговор
в отговор на l #3

Аз съм алчен

Ще ми се да направя последния таг, който е бил от branch тага да е в новия branch таг. За да мога да правя diff-ове без да мисля кое беше докъде :)

Иначе си ме разбрал и май по мързеливия начин няма да стане. Мерси

Отговор