SVN – popularny (nadal) system do wersjonowania kodu. Multiplatformowy. Posiada swoje natywne programy do obsługi w każdym, wiodącym systemie operacyjnym. Pozwala także na błyskawiczną obsługę w konsoli Linux. Poniżej ciekawy lifehack w którym sprawdzimy ile zajmują (w megabajtach) nowe pliki, które pojawiły się w kopii roboczej.
Pozwala to na wychwycenie bardzo dużych plików np. archiwów, ktróre się tam zawieruszyły. W ten sposób unikniemy wykonania na nich operacji commit (wysłania do repozytorium)
Po kolei.
Jeśli w kopii roboczej wywołujesz:
|
1 |
svn st |
i widzisz linie zaczynające się od ? (czyli **nieśledzone pliki/foldery**), to możesz policzyć ich łączny rozmiar w MB:
|
1 |
svn st | awk '/^\?/ {print substr($0,9)}' | xargs du -ch --max-depth=0 | tail -n 1 |
* svn st – pokazuje status plików.
* awk '/^\?/ {print substr($0,9)}' – wybiera linie zaczynające się od ? i obcina pierwsze 8 znaków (? + spacje), zostawiając samą ścieżkę do pliku/folderu.
* xargs du -ch --max-depth=0 – liczy rozmiary plików/folderów w sposób czytelny (np. „12M” itp.).
* tail -n 1 – pokazuje tylko **sumę łączną** na końcu ().total
Sprawdźmy czy to działa?
|
1 2 3 4 5 6 7 8 9 |
ubuntu@linux-desktop:/var/www/prestashop$ svn st ? modules/attributewizardpro.zip ? modules/attributewizardpro2.zip ubuntu@linux-desktop:/var/www/prestashop$ svn st | awk '/^\?/ {print substr($0,9)}' | xargs du -ch --max-depth=0 | tail -n 1 5,9M total ubuntu@linux-desktop:/var/www/prestashop$ du modules/attributewizardpro*.zip -h 3,0M modules/attributewizardpro2.zip 3,0M modules/attributewizardpro.zip ubuntu@linux-desktop:/var/www/prestashop$ |
Jak widać prawidłowo policzył nowe pliki. Co prawda zliczenie ich ręczne pokazuje 6,0M ale jest to nieduże przybliżenie
grafika:alphacoders.com

