![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Jak w temacie, jak wyciągnać z repozytorium, tylko te pliki, które są powiedzmy > r20. Tak aby wyciągnać tylko, te pliki większe od tego numeru rewizji, wszystkie inne chciałbym, aby zostały pominięte. Krótko mówiąc pracując na jakimś skrypcie chce stworzyć do niego patch'a, ale nie mam za bardzo pojęcia jak to zrobić. Wiem, że istnieje coś takiego w svn jak patch, tyle że nie wiem jak się tego używa i do czego to służy. Szukałem trochę na google, ale nic konkretnego na ten temat nie znalazłem. Być może idę w złym kierunku, dlatego też prosiłbym o małe nakierowanie. Będę wdzięczny za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Również chętnie posłucham innych rozwiązań, jak Wy tworzycie patch'e, łatki do gotowych skryptów? Pozdrawiam serdecznie. |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Pacze robie do katalogów a nie do plików i wygląda to tak (przykładowo):
diff -INNE_OPCJE -ruwbEN devilspie-0.20.2-org/src/ devilspie-0.20.2/src/ > applepie.patch a potem wchodzę do katalogu gdzie jest katalog devilspie-0.20.2 i wpisuje patch -OPCJE < applepie.patch Wydaje mi się, że svn także czyta patche w tym formacie (diff/patch to standardowy zestawa do łatkowania). Ten post edytował Jabol 16.01.2008, 08:39:32 |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
No dobrze, dziękuje za odpowiedź, ale mam jeszcze jedno małe pytanie, mianowicie Twój sposób wymaga dostępu do svn na serwerze prod. prawda? A ja chciałbym stworzyć sobie taką 'łatkę', którą będę mógł bez problemu wgrać na FTP bez patrzenia ręcznie, który plik jest większy od danej rewizji. Krótko mówiąc chce uzyskać, svn export, ale aby wydobyć tylko te pliki i katalogi, które są powyżej podanej rewizji. Jak wpiszę svn export -r 20 to uzyskam, również poprzednie pliki, które były np. z initial import'u (r1), a chce uzyskać tylko te, które są powyżej > r20. Mam nadzieję, że teraz dosyć jasno to napisałem.
Macie jakiś pomysł? Bo chyba nie będę musiał samemu tego pisać (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) Pozdrawiam serdecznie. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
ja proponuję:
jeśli od dwudziestej rewizji to: Kod $ svn diff -r 20:HEAD > rev20.patch w pliku rev20.patch masz patcha, którego po prostu wykonujesz za pomocą shellowego patch na serwerze produkcyjnym Ten post edytował Cezar708 16.01.2008, 16:39:23 |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
ja proponuję: jeśli od dwudziestej rewizji to: Kod $ svn diff -r 20:HEAD > rev20.patch w pliku rev20.patch masz patcha, którego po prostu wykonujesz za pomocą shellowego patch na serwerze produkcyjnym Nie mam dostępu do svn na serwerze prod. Tylko FTP. Inaczej wam to zobrazuję, mam sobie projekt, który zawiera 10,000 plików, w ciągu kilku miesięcy robię na nim poprawki, edytuje ok. 1400 plików. Oczywiście nie pamiętam co edytowałem, i chce exportować tylko te pliki, które są powyżej np. r1 (czyli powyżej Initial Importu). Chce uniknąć wgrywania na serwer wszystkich 10,000 plików, a wgrać tylko te, które edytowałem, jedynie te 1400. Mam nadzieję, że teraz jest już jasno (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Pozdrawiam serdecznie, i jeśli ktoś ma jakieś pomysły to śmiało. Może ja źle myślę, i rozwiązanie jest gdzie indziej. |
|
|
![]()
Post
#6
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
Niestety - gdy szukałem jakiegoś narzędzia do tego, z roku temu, to mimo intensywnych poszukiwań nic nie udało mi się znaleźć.
W sumie wszystko sprowadziło się do FTP i wrzucania plików modyfikowanych w ciągu określonego czasu wstecz (niektóre klienty to potrafią) lub monitorowani modyfikacji plików w określonym folderze "na żywo". Z tego co wiem, jest jakiś skrypt, który potrafi wyciągnąć te zmiany z SVN, ale nie udało mi się znaleźć chodzącej wersji, którą dałbym radę uruchomić (głównie z braku czasu...) (np. http://svn.haxx.se/dev/archive-2007-08/0318.shtml lub svn2web ) |
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Hej,
Znalazłem rozwiązanie problemu, lekko przerobiłem skrypt znaleziony w sieci i stworzyłem swoje svn2web, - to narzędzie pozwoli nam wyciągnąć pliki o określonej rewizji, przykład użycia: Kod svn2web 120:HEAD https://localhost/svn/project /home/user/temp/patch Podajemy zakresy rewizji, w moim przypadku od 120 do aktualnej (HEAD), następnie ścieżkę do repo i gdzie mają te pliki wylądować. Jest to bardzo pomocne narzędzie ponieważ, wiedząc że na serwerze FTP mamy rewizję 100, natomiast po poprawkach mamy 120 - jesteśmy w stanie zaktualizować tylko te pliki, które się zmieniły bez nadpisywania innych (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Link: http://dev.strife.pl/svn2web.tar.gz Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 04:34 |