![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Witam. Postanowiłem przerzucić się ze zwykłego kopiowania katalogu projektu i wpisywania mu daty jako prefiksu na Subversion. Usunięcie katalogu z drzewa projektu powoduje zaparcie się rękami i nogami SVN przed zatwierdzeniem zmian. Jak wymusić na nim ich potwierdzenie mimo usuniętego katalogu?
Cytat D:\Projekty\www\app1>svn commit -m "Wywalenie niepotrzebnego katalogu." svn: Zatwierdzenie nie powiodło się (szczegóły poniżej): svn: Brak katalogu 'D:\Projekty\www\app1\test1' svn: Brak katalogu 'D:\Projekty\www\app1\test1' Cytat D:\Projekty\www\app1>svn help commit
commit (ci): Zatwierdź zmiany dokonane na kopii roboczej poprzez zapisanie ich w repozytorium. Użycie: commit [ŚCIEŻKA...] Zatwierdzenie wymaga podania opisu zmian (może być pusty). Jeśli nie podano go za pośrednictwem opcji --message lub --file, zostanie uruchomiony edytor tekstu. Jeśli którykolwiek z podanych argumentów polecenia zawiera zablokowane obiekty, to po udanej operacji zatwierdzania blokady na tych obiektach będą zdjęte. Poprawne opcje: -q [--quiet] : wypisz nic lub tylko podsumowanie -N [--non-recursive] : przestarzałe; spróbuj --depth=files lub --depth=immediates --depth ARG : ogranicz operację przez głębokość ARG ('empty', 'files', 'immediates' lub 'infinity') --targets ARG : potraktuj zawartość pliku ARG jako dodatkowe argumenty --no-unlock : nie usuwaj blokad dla obiektów -m [--message] ARG : podaj argument określający opis zmian -F [--file] ARG : czytaj opis zmian z pliku ARG --force-log : wymuś uznanie opisu zmian za poprawny --editor-cmd ARG : użyj ARG jako polecenia uruchamiającego edytor tekstu --encoding ARG : zakładaj, iż parametry są podane w kodowaniu ARG --with-revprop ARG : określ atrybut ARG wersji w nowej wersji przy użyciu formatu nazwa[=wartość] --changelist ARG : działaj tylko na członkach listy zmian ARG [aliasy: --cl] --keep-changelists : nie usuwaj list zmian po zatwierdzeniu zmian Globalne opcje: --username ARG : użyj ARG jako nazwy użytkownika --password ARG : użyj ARG jako hasła --no-auth-cache : nie zapamiętuj danych uwierzytelniających --non-interactive : nie zadawaj żadnych interaktywnych pytań --config-dir ARG : pobierz konfigurację użytkownika z katalogu ARG |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 20 Dołączył: 15.11.2006 Skąd: Koszalin Ostrzeżenie: (0%) ![]() ![]() |
Najpierw zrób: svn delete katalog
Potem commita. Następnie usuń ręcznie ten katalog i już nie będzie go w repozytorium. -------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Dzięki. Fajnie by było jakbyś mi jeszcze powiedział jak pobrać z serwera SVN poprzednią wersję pliku, ale zapisać ją pod inną nazwą. Tak żeby zmodyfikowany plik na stacji roboczej nie został nadpisany przez starszy plik.
Powiedzmy że usunąłem z klasy metodę i chcę ją przerobić na oddzielną klasę. Kiedy już struktura jest zrobiona chcę sobie przypomnieć implementacje skasowanej metody. Dlatego właśnie przydałaby się możliwość ściągnięcia pliku z repozytorium, ale pod inną nazwą niż oryginalna. No chyba że istnieje jakieś inne rozwiązanie. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat Dzięki. Fajnie by było jakbyś mi jeszcze powiedział jak pobrać z serwera SVN poprzednią wersję pliku, ale zapisać ją pod inną nazwą. Tak żeby zmodyfikowany plik na stacji roboczej nie został nadpisany przez starszy plik. zawsze możesz aktualny plik zapisać pod inną nazwą i zrobić svn up -rXXX gdzie XXX to numer revizji, który CIę interesuje na przykład: Kod $ mv plik.php plik.back.php $ svn up -r 123 plik.php pozdrawiam |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
To powyzsze nadpisze ci plik - jesli chcesz pod inna nazwa to:
Kod svn cat -r 123 plik.php > plik-stary.php w plik-stary.php dostaniesz stara wersje pliku plik.php -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Dziękuje doktorku.
![]() Nie spodziewałem się że jest zaimplementowany cat w SVN'ie. Chyba sobie przeczytam opisy tych wszystkich poleceń. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Jako, ze widże, iż pracujesz na windowsie, polecam TortoiseSVN - korzystam z niego na co dzień...
-------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Ten program był pierwszą rzeczą dotyczącą SVN'u z którą się zetknąłem. Nie wiedziałem nawet wtedy co to jest SVN, tylko że trzeba ściągnąć projekt, a TortoiseSVN jest do tego zalecany.
![]() edit> Mam jeszcze dwa pytania. 1. Co zrobić w przypadku poważnych zmian w strukturze katalogu kopi roboczej. Czy muszę zaktualizować kopię roboczą do wersji z repozytorium i wprowadzić zmiany od nowa? 2. Jak skasować repozytorium i pozbawić kopię roboczą katalogów .svn w których subversion składuje informacje. Ten post edytował orglee 24.01.2009, 08:35:59 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Cytat 1. Co zrobić w przypadku poważnych zmian w strukturze katalogu kopi roboczej. Czy muszę zaktualizować kopię roboczą do wersji z repozytorium i wprowadzić zmiany od nowa? HYm, nie bardzo rozumiem o czym mowisz - powazne zmiany to normalne zmiany. Zawsze chcesz zaktualizowac KR (kop. rob.) do najnowszej wersji a potem zimeniac wszystko i commitowac. Cytat 2. Jak skasować repozytorium i pozbawić kopię roboczą katalogów .svn w których subversion składuje informacje. Czyli chcesz sam katalog projektu bez .svn/-ow? i do tego pozbyc sie repozytorium? Najprosciej je wyeksportowac (svn export ... - dostaniesz sam projekt bez .svn/-ów ) a potem skasowac repozytorium. Druga wersja to skasowac wszystkie katalogi .svn/ wewnatrz kopii roboczej (szukaj + usun) a potem skasowac repozytorium. O to ci chodzilo? -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
2. Tak o to chodziło dzięki.
1. Dodałem kilka katalogów, kilka skasowałem, kilku innym nazwy zmieniłem co łączyło się też z modyfikacją nazw klas, a teraz SVN pluje mi się że to zrobiłem i nie chce zatwierdzić zmian. Pomyślałem że w sumie można skasować istniejące repozytorium, ale skoro svn export wyciąga strukturę projektu z repozytorium to pozostaje ręczne wywalenie katalogów .svn z kopii roboczej. Nie jestem jeszcze przyzwyczajony do wprowadzania zmian w drzewie katalogów najpierw w repozytorium i następnie dopiero aktualizowania kopii roboczej i stąd ten błąd. |
|
|
![]()
Post
#11
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
1.
Zmiany nazw katalogow wykonuj "svn move" a nie zwykla opcja zmiany nazwy w windzie (z tego co pamietam Tortoise SVN tak robi - i hmmm nie wiem czy ma taka opcje, moze gdzies glebiej w menu "rename"). Kasuj katalogi tez poprawnie "svn remove" . Przy commicie czasami sie pluje ze masz nieaktualne KR - dajesz svn up i commit przechodzi. No chyba ze cos wiecej "popsules". Cytat Nie jestem jeszcze przyzwyczajony do wprowadzania zmian w drzewie katalogów najpierw w repozytorium i następnie dopiero aktualizowania kopii roboczej i stąd ten błąd. HMmm, ze operujesz bezposrednio na repozytorium? Generalnie nie potrzebujesz tego. Operacje robisz na KR i commitujesz, that's all. -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Znowu się popisałem...
Podmieniając wygenerowany model ORM wywaliłem poprzednie katalogi w efekcie czego nie mam w nich ukrytych folderów .svn z informacjami o wersjonowaniu. Jaką komendę nie chciałbym wykonać zawsze mi krzyczy żebym wykonał cleanup bo folder Model jest zablokowany. Natomiast wykonanie cleanup skutkuje błędem: "Cleanup failed to process the following paths: ( ... ) is not a working copy directory." Co mam teraz zrobić? :/ |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Ściągnij jeszcze raz nową kopię roboczą z repozytorium i skopiuj do niej te pliki, które pozmieniałeś (z wyjątkiem katalogów .svn).
-------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Ok tylko jak ja mam to zrobić skoro cały katalog z usuniętymi ręcznie podkatalogami jest zablokowany? :/
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Jak usunąłeś lokalnie, to możesz wszystko wywalić i zrobić nowy checkout. Pobierzesz sobie wersję z przed zmian w ORM i potem dodasz to, co potrzebujesz.
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Niekoniecznie - (jesli nie masz w tych podkatalogach zadnych wlasnych zmian..) - usun caly katalog (nie! svn rm'em - tak najzwyczajniej usun) z "generated models" (czy jak mu tam) - i daj svn up - odtworzy ci te katalogi, a teraz je usun prawidlowo svn rm...
-------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Cytat D:\Projekty\www\p1\module\Articles\Model>svn up Merger svn: Kopia robocza '.' jest zablokowana svn: uruchom 'svn cleanup', by usunąć blokady (więcej informacji - zobacz 'svn help cleanup') D:\Projekty\www\p1\module\Articles\Model>svn cleanup svn: 'Merger' nie jest katalogiem kopii roboczej ![]() |
|
|
![]()
Post
#18
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Jakbym mial dostep do twojego kompa... to moglbym cos poradzic - bo takto to niewiele wiem co jest co - co namieszales itp.
A jakbys skasowal "windowsem" caly katalog Model, a potem wewnatrz module/Articles dal "svn up" ? Wiec najlepiej czekautnac od nowa i przeniesc zmienione pliki na nowa KR. -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Daj jeszcze svn unlock. Tylko spróbuj na różnych ścieżkach, bo czasami może twierdzić, że coś nie jest repozytorium i trzeba bardziej precyzyjnie określić. Mi to polecenie pomaga, gdy coś wywalę przez pomyłkę.
Pozdrawiam -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 28.06.2025 - 15:00 |