Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wykluczenie plików w SVN (lokalna kopia projektu)
mr_lime
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 30.08.2011

Ostrzeżenie: (0%)
-----


Witam serdecznie,
Mam problem z systemem kontroli wersji SVN i nie wiem za bardzo jak go ugryźć. Mam projekt, który leży w repozytorium SVN i jest w nim kilka plików konfiguracyjnych, które muszą być inne w repozytorium oraz u mnie na komputerze, gdzie lokalnie testuje swój kod. Czy jest jakiś sposób żeby wykluczyć kilka plików podczas pobierania oraz wysyłania źródeł do repozytorium? Opcja ignore pozwala na niewysyłanie plików do repozytorium ale jeżeli w repozytorium nadal istnieje (i musi istnieć) dany plik tylko z innymi parametrami to zostanie pobrany przy następnym update. Używam klienta TortoiseSVN 1.6.99. Co radzicie?


Go to the top of the page
+Quote Post
kwiateusz
post
Post #2


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




svn nie ma takiego mechanizmu żeby plik był w repo, ale nie był brany pod uwagę przy commitach. jedyna opcja to go odznaczac co commit zeby nie był wysyłany
Go to the top of the page
+Quote Post
lewal
post
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 25.05.2003

Ostrzeżenie: (0%)
-----


Cytat(mr_lime @ 30.08.2011, 16:59:15 ) *
Witam serdecznie,
Mam problem z systemem kontroli wersji SVN i nie wiem za bardzo jak go ugryźć. Mam projekt, który leży w repozytorium SVN i jest w nim kilka plików konfiguracyjnych, które muszą być inne w repozytorium oraz u mnie na komputerze, gdzie lokalnie testuje swój kod. Czy jest jakiś sposób żeby wykluczyć kilka plików podczas pobierania oraz wysyłania źródeł do repozytorium? Opcja ignore pozwala na niewysyłanie plików do repozytorium ale jeżeli w repozytorium nadal istnieje (i musi istnieć) dany plik tylko z innymi parametrami to zostanie pobrany przy następnym update. Używam klienta TortoiseSVN 1.6.99. Co radzicie?

Radzę zmienić konfigurację.
Tworzysz główny plik conf.php w którym są domyślne ustawienia. Na końcu pliku inkludujesz plik conf_local.php - potencjalnie tak, żeby aplikacja nie wywalała się w przypadku jego braku, ale to kwestia gustu.
Ustawienia z pliku conf_local.php powinny nadpisywać wybrane opcje z conf.php.

Główny plik jest w repozytorium, lokalny dodajesz do plików ignorowanych.
W dobrym tonie jest też dodać do repozytorium plik conf_local.php.example

Mam nadzieję, że wyjaśniłem to dość klarownie. Rozwiązanie sprawdza się niezależnie od języka i systemu kontroli wersji.


--------------------
www.benefitpartner.net - artykuły reklamowe w grach internetowych i portalach społecznościowych
Go to the top of the page
+Quote Post
abort
post
Post #4





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

Ostrzeżenie: (0%)
-----


Sytuacja u mnie: trzech userów, lokalny devel aplikacji na Win (Apache), aczkolwiek projekcik docelowo wyjąduje na uniksach (Linux - testy na dwóch serwerach). Każdy user, jak wiadomo, może mieć gdzie indziej http_root i parę innych rzeczy, na serwerach też to może być w różnych miejscach. U nas więc sprawdziło się coś takiego, że pojawiło się pięć plików konfiguracyjnych: config_user1.php, config_user2.php i config_user3.php, jak również dwa serwerowe: config_serv1.php i config_serv2.php. Gdzie jako "user1"..."user3" lądują nie nazwy userów, ale nazwy hostname u danych userów.

Wszystko leży w repo (też svn), a inkludowanie załatwia jedna instrukcja:
$inc_path="config." . $_SERVER["HTTP_HOST"] . ".php";

Wydaje mi się to prostym i sensownym rozwiązaniem - i u mnie się sprawdza. Oczywiście przy projektach, nad którymi pracuje >10 osób zaczyna się robić bajzel.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 13:44