2009-11-12 10 views

Odpowiedz

5

Powinieneś być w stanie zrobić półkę. Jest to sposób na zapisanie listy zmian do późniejszej edycji. Poniższy link jest dodatkiem Python dla Perforce, który implementuje shelve. Ponadto, wiem, że Practical Perforce ma kilka sposobów na odstąpienie od bieżących zmian bez zewnętrznego skryptu. Nie mam przed sobą tej książki, ale postaram się zaktualizować to pytanie dziś wieczorem, kiedy to zrobię.

http://public.perforce.com/wiki/P4_Shelve

+0

Czy kiedykolwiek miałeś okazję spojrzeć na tę książkę? –

+0

Dzięki za przypomnienie. Niestety wygląda na to, że moja książka została pozostawiona z poprzednim pracodawcą, kiedy tam byłem. Te dwa sposoby są jednak wymienione w podglądzie Książek Google poniżej. Wygląda na to, że rzadka gałąź będzie sposobem na zdobycie oryginalnego plakatu. http://books.google.com/books?id=tlZHxJ5dkGcC&printsec=frontcover&dq=practical+perforce#v=onepage&q=shelve&f=false –

5

Związany z P4Shelve jest P4tar który wygląda bardzo użyteczny i robi operacje na kliencie, zamiast rozgałęzienia na serwerze.

Z pewnością wkrótce będę się zajmował robieniem podobnych rzeczy.

7

w ogóle nie ma potrzeby korzystania z zewnętrznych narzędzi, zakładając, że znajdujesz się na maszynie unix (lub masz odpowiednią konfigurację cygwin pod Windows, nie przetestowałeś jej.) Jedynym zastrzeżeniem jest to, że Perforce's p4 diff generuje wynik, który jest nieznacznie niekompatybilny z patch, dlatego musisz go wskazać na polecenie unix diff. W kliencie-root można zrobić

P4DIFF=/usr/bin/diff p4 diff -du > pending-changes.patch 

opcjonalne (jeśli chcesz przywrócić otwarte pliki z linii poleceń, należy inaczej p4v):

p4 revert `p4 opened|awk -F\# '{print $1}'` 

Później otwierasz pliki za edit (może być zautomatyzowany przez wyodrębnieniu plików dotkniętych z patchfile pending-changes.patch a następnie:

patch < pending-patches 

Zależnie od ścieżki DTP w kliencie-root, trzeba użyć -p#num Opcja łatki, aby łatka była łatwa do nałożenia.

1
  • utworzyć oddział tych plików w jakimś odpowiednim miejscu
  • Sprawdź wersje gałęzi plików edytowałeś
  • skopiuj edytowanych plików w od tułowia i przedkłada je
  • Przywróć pliki na pniu

Teraz masz te "różnice", które chcesz bezpiecznie zarchiwizować. Gdy jesteś gotowy, aby zastosować te zmiany później, po prostu zintegruj je z powrotem w bagażniku.

To jest to, co robi skrypt Pythona, który ma Brett mentioned. W ten sposób można zrobić to ręcznie bez specjalnych narzędzi.

Powiązane problemy