2010-03-09 6 views
26

Moja firma używa Accurev do kontroli kodu źródłowego, a przy wszystkich jego zaletach jest jedno proste działanie, którego nie potrafię wymyślić.Najlepszy sposób na "un-promowanie" plików w Accurev?

Często mamy kogoś, kto przypadkowo przesuwa plik zbyt daleko w naszej strukturze strumienia - na przykład ze strumienia "Rozwój" do strumienia "Release". Jaki jest najlepszy sposób na "cofnięcie promocji" tego pliku? To znaczy, aby przywrócić starszą wersję pliku do strumienia "Release" i zachować nową wersję pliku w strumieniu "Development", gdzie należy?

Wykonanie operacji "Przywróć kopię zapasową" lub innej akcji przywracania pliku w strumieniu Release spowoduje, że stara wersja pliku zostanie rozpropagowana w programie Development lub plik zostanie całkowicie usunięty.

W powyższym przypadku programista będzie musiał przeskoczyć przez obręcze z ustawianiem czasów bazowych w strumieniach lub użyć narzędzia wiersza poleceń, aby wykonać kasę starej transakcji, aby odzyskać plik. Czasami osoby, o których mowa, są nietechniczne, więc nie jest to dobre rozwiązanie.

Rozważyłem również przeniesienie plików do strumienia "wyższego poziomu", cofnięcie, a następnie ponowne promowanie ich w dolnym strumieniu. To wydaje się naprawdę kludgy.

Wygląda na to, że Accurev jest na tyle niejasny, że Google nie jest pomocna, więc zwracam się do dobrych ludzi z StackOverflow po pomoc - czy ktoś wymyślił sposób "Accurevy", aby to osiągnąć?

+2

"Demo" jest zaplanowane na 6,2 w lutym 2015 r. –

Odpowiedz

28
  1. Przejdź do głównej przeglądarce strumienia

  2. Kliknij prawym przyciskiem myszy na strumieniu przypadkowo promowany do i wybierz „Wyświetl historię”

  3. W przeglądarce Historia, kliknij prawym przyciskiem myszy na promowanie chcesz przywrócić i wybierz "Przywróć"

  4. To będzie monitować, który obszar roboczy, w którym chcesz umieścić wynik wycofania, możesz wybrać obszar roboczy, który przypadkowo promujesz, jeśli chcesz.

  5. W twojej przestrzeni roboczej pliki powinny powrócić do stanu sprzed przypadkowej promocji. Możesz teraz promować to z powrotem w strumieniu powyżej. Strumień będzie teraz zawierać wersje plików, które zostały usunięte przez przypadkową promocję.

  6. Możesz zauważyć, że twój obszar roboczy nie zawiera już żadnego z tych plików, ale prawdopodobnie chcesz, aby przypadkowo promowane pliki znalazły się z powrotem w twoim obszarze roboczym? Jeśli tak, wróć do przeglądarki historii dla strumienia, kliknij prawym przyciskiem myszy tam właśnie, którą właśnie stworzyłeś (promuj z cofniętymi zmianami), i wybierz "Przywróć". Następnie możesz wybrać ten sam obszar roboczy, co miejsce docelowe.

  7. Pliki prawdopodobnie pojawią się teraz w domyślnej grupie obszaru roboczego i będą w konflikcie, więc po prostu wybierz partię i wykonaj scalenie. Najprawdopodobniej będziesz chciał zaakceptować trywialne połączenia tutaj.

Po scaleniu plików powinny pojawić się w oczekującym filtrze. Powinieneś teraz mieć te same pliki oczekujące, jak przed przypadkowym awansowaniem, a powyższy strumień powinien mieć taką samą zawartość w pliku, jak przed awansem.

Proste jako że (ironia przeznaczona).

Steve

12

Przyjazny dla audytów charakter accurev tylko w rzeczywistości oznacza, że ​​cofnięcie zmiany oznacza ponowne zastosowanie wersji, którą chcesz. Intuicyjnie chcesz cofnąć "1-krok". Jednak w systemie z włączoną aplikacją oznacza to przejście i ponowne zastosowanie starej wersji. W związku z tym przywracanie jest oczywiście procesem "2-kroków do przodu" zamiast "1-krok wstecz".

W większości przypadków cofanie nie zdarza się tak często, więc wartość globalna przewyższa wartość receptury odwróconej (IMO).

Jako kompleksowe rozwiązanie typu one-stop-shop, najdokładniejszym podejściem (jak wspomniałeś) jest odwrócenie promowanej transakcji. Zobacz historię strumienia, znajdź niechcianą promocję, kliknij polecenie RClick> Przywróć. Potrzebujesz przestrzeni roboczej dla dzieci ... dlaczego? ponieważ cofnięcie może wymagać odmowy połączenia. Pomyśl o przywróceniu reklamy pełnoekranowej ... to tak, jakbyśmy wyjęli sałatę z kanapki i musieli połączyć razem górne i dolne bułeczki. Jedynie w systemie opartym na txn może to być także sól pomidorowa, musztardowa i selerowa oraz jako pojedyncze "cofanie". Musisz więc zapisać zmiany w scaleniu, jeśli takie istnieje. W każdym razie, a nawet jeśli po prostu cofasz najnowszą promocję, po prostu przywróć zmiany w obszarze roboczym, wykonaj [sporadyczne] scalenie i promuj wszystko.

Krótka historia. Przywracanie w dowolnym systemie CM to trochę jak operacja, więc prawdopodobnie chcesz zaangażować odpowiednie osoby.

Cofanie się o krok. Mam tendencję do wykorzystywania strumieni accurev do sprawdzania poprawności kodu wcześniej niż często i promowania łańcucha dopiero po zatwierdzeniu. więc szanse na powrót są mniejsze, gdy promujesz wyżej.

5

AccuRev wersja 5.2 wprowadza możliwość cofnąć transakcję lub wydawania bezpośrednio w strumieniu, bez angażowania do pracy. Jest to przydatne do cofnięcia zmiany w strumieniu "wydania", ale nie rozwiązuje drugiej części twojego pytania (aby przywrócić nową wersję w strumieniu "rozwój".) Pełna funkcja "nieopublikowania/obniżenia" jest zaplanowana na przyszłość uwolnienie

Aby uzyskać więcej informacji na temat wersji 5.2 można znaleźć informacje o wersji na -.

http://www.accurev.com/download/docs/5.2.0_books/AccuRev_5_2_0_Install_Release_Notes.pdf

2

mówię to nie do końca język-w-policzek, ale można uruchomić Mercurial lokalnie, a następnie po w tej sytuacji wycofaj Mercurial, ponownie awansuj na Accurev, a następnie ponownie uruchom Mercurial naprzód Kilka deweloperów w moim miejscu pracy uważa, że ​​Accurev jest tak uciążliwy w użyciu, że ten wzór jest gaini trochę trakcji.

Powiązane problemy