(Ne)potrebni .svn folderi
Otkako koristim Subversion na Windowsima, vraća mi se kao bumerang potreba da neki folder očistim od .svn direktorijuma/foldera/fascikli.
Subversion u izvornoj ideji umesto neke “prave baze” koristi foldere koje jedinstveno naziva imenom - “.svn” i tu smešta informacije o datotekama u tom folderu. Da stvar bude lepša, ove foldere označi kao “hidden” te se oni ne moraju videti.
U mom slučaju Subverision najčešće vodi računa o datotekama neke web aplikacije. Ako moja aplikacija ima recimo 1000 foldera, na .svn varijanti imaće ih duplo više. Ovo značajno može odužiti pojedine operacije kao što je zipovanje ili upload na server.
Naravno SVN ima to predviđeno u vidu export komande… ali je i to sporo…
Evo kako se brzo, u sistemskom kontekstnom meniju (svakog) foldera dodaje komanda za brisanje svih .svn foldera koji se nalaze ispod tog selektovanog (rekurzivno).
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\RemoveSVN]
@=”Remove SVN folders”[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\RemoveSVN\command]
@=”cmd.exe /C \”COLOR CF && TITLE Removing SVN Folders in %1 && FOR /r \”%1\” %%f IN (.svn) DO RD /S /Q \”%%f\” \”"
Dakle ovo treba dodati u Windows registry. Taj REG file možete preuzeti i ovde. Dovoljno je da ga pokrenete (dvoklik)…
Ovo već neko vreme koristim na svoju odgovornost i bez problema. Želim to i vama.
mart 17th, 2007 at 00:03:05
Ako ti je Total Commander FTP klijent postoji jednostavan trik za ignorisanje određenih direktorijuma/ekstenzija:
U dijalogu za kopiranje kao masku u polju “Only files of this type” unesi “*.* | .svn\”.
Mada, po mom mišljenju, znatno je bolje ako sinhronizaciju između devdeployment mašina vršiš upravo pomoću Subversion-a:
Na deployment mašini uradiš inicijalni checkout i nakon toga napraviš bash skript koji ubaciš u cron (i/ili pozivaš prema potrebi) koji izvrši “svn up”.
Dodatna prednost ovog rešenja je da kada menjaš granu razvoja ((nova) stabilna verzija se izdvojila iz trunka) samo jednom ukucaš “svn switch neka://nova/grana” i SVN završi posao. Naravno, tvoj update skript i dalje radi normalno kao da se ništa nije desilo
mart 23rd, 2007 at 00:32:20
Bravo, par puta sam imao slicnih problema, ali mi nije ni padalo na pamet da ima neceg ovako korisnog.
novembar 7th, 2007 at 09:43:47
a da koristis svn export umjesto svn checkout?
novembar 8th, 2007 at 14:35:24
> a da koristis svn export umjesto svn checkout?
Ako si pažljivo čitao tekst rekao sam da je to jednostavno sporo…