2011-06-06 13 views
57

Próbuję scalić najnowsze zmiany z trunk do gałęzi mojego projektu, ale problem polega na tym, że nie wiem, co rewizji bagażnika sprawdziłem, że w końcu utworzył oddział z. Wydaje mi się, że SVN zarejestrował to gdzieś. Czy ktoś wie, jak mogę znaleźć numer rewizji?Znajdź rewizję w trunk, że gałąź została utworzona z

+0

Jeśli używasz oprogramowania svn 1.5 lub nowszego, nie musisz znać tego numeru wersji, aby przeprowadzić scalenie. 'svn merge ^/trunk.' wykrada to dla siebie. Jeśli tak się nie dzieje, możesz potrzebować 'svnadmin upgrade' swojego repozytorium. – slowdog

+0

Hmmm ... Subclipse prosi o rewizję początkową, będę musiał sprawdzić, czy może to zrobić scalenie w ten sposób – Andy

Odpowiedz

67

Z linii poleceń, --stop na kopię flagi mogą być używane, aby pomóc pokazać, gdzie skopiowano oddział od:

svn log --verbose --stop-on-copy $REPOSITORY/branches/feature 

ostatniej linii powie coś takiego:

Changed paths: 
    A /branches/feature (from /trunk:1234) 
+0

ahh człowieka. Szkoda, że ​​nie było opcji "stop na N kopii"! będą musiały przejść je ręcznie. dzięki! – Andy

+0

Myślę, że ruch svn zostanie odebrany jako "kopia" ... ponieważ jest to kopia i usuń w jednym ujęciu. Więc jeśli utworzysz gałąź, a następnie zmienisz jej nazwę (zmienisz nazwę w komendzie żółwia, aby zmienić nazwę), wyrzuci to "kiedy ta gałąź się zaczęła?" dane. Wspominam tylko o tym, ponieważ "zmiana nazwy" nie brzmi jak "tworzenie" ...... niestety, nauczyłem się tego na własnej skórze. – granadaCoder

12

Czy używasz TortoiseSvn lub linii poleceń?

Wiersz poleceń: svn log --stop-on-copy, a następnie spójrz na najmniejszy numer re.

tortoisesvn: right-click, tortoise-svn, show log, make sure 'stop on copy' is *checked* and press refresh. Scroll to the bottom and find the smallest rev number. enter image description here

+0

faktycznie używałem Subclipse – Andy

+1

Nie do końca poprawne. Podczas tworzenia oddziału możesz określić, na której wersji opiera się gałąź (używając -r) - np. 'svn copy -r 1234 svn: //foo.com/trunk svn: // foo.com/branches/b1'. Wersja podstawowa niekoniecznie musi być taka sama, jak wersja, w której utworzono oddział. Odpowiedź @ richq pokazuje, jak uzyskać ją poprawnie. – harmic

2

Jeśli korzystałeś svn copy stworzyć tag/branch, następnie svn log można powiedzieć, skąd swoje rzeczy w branży została skopiowana. Na przykład, powiedzmy, że mamy svn://svn/trunk/foo i stworzyliśmy gałąź svn://svn/branches/super_foo. Uruchom svn log -v svn://svn/branches/super_foo, powie ci coś takiego - /branches/super_foo from /trunk/foo:22890, co oznacza, że ​​skopiowałeś 22890 wersji trunk do gałęzi.

0

W przypadku aplikacji Cornerstone, aby zobaczyć, gdzie powstał tag lub gałąź, spójrz na oś czasu.

9

Być może trochę późno, ale.

Jeśli jesteś obecnie w branży można uruchomić:

svn log -r 1:HEAD --limit 1 --stop-on-copy 

Wyświetla pierwszy przegląd branży to znaczy, kiedy go stworzył.

+0

To jest poprawna odpowiedź. Nie zawiera tysięcy bezużytecznych poprawek, tylko po to, by spojrzeć na ostatnią. – bobbogo

+1

Sugerowałbym dodanie opcji '-v' do powyższego polecenia, abyś mógł otrzymać komunikat' (from path: rev) '. –

Powiązane problemy