Portál AbcLinuxu, 11. května 2025 04:31
svn add
, vsechny
stare musim poctive projet s svn delete
,
prejmenovavat musim zase s svn move
, atd...
Proste musim pamatovat na kazdy blby soubor, a kdyz to neudelam, pak mam v projektu chaos. To me stve. Obzvlast,
kdyz mam projekt s desitkami souboru, obcas nejaky pridam,
PHP mi do toho dynamicky generuje dalsi, atd. Je to na zblazneni, vsechno si to pamatovat.
Mne by se libilo, kdybych SVN proste mohl "rict" :
Vezmi si tenhle adresar. Je to nejnovejsi verze projektu. Uloz si zmeny oproti minule verzi. Kdyz nejaky soubor pribyl, tak si ho sakra pridej taky. Jestli neco zmizelo, tak to neres a smaz si ho taky. A tak dale tar
oval aktualni verzi a pridaval ji nekam do archivu. Ale to nepovazuji za pohodlne, elegantni a systemove reseni.
Byl bych vdecen, kdyby mi nekdo doporucil jiny (osvedceny) program pro verzovani, nebo poradil, jak ten SVN donutit delat to, co chci. Predem dekuji za odpovedi a omlouvam se za tu sahodlouhou litanii.Proste musim pamatovat na kazdy blby soubor, a kdyz to neudelam, pak mam v projektu chaos.Ano, v projekte musíš pamätať na každý súbor. Ak tak nebudeš robiť, budeš mať v projekte chaos nezávisle od SVN. Bud vdačný SVN, že Ťa núti toto robiť.
PHP mi do toho dynamicky generuje dalsi,Akýkoľvek generovaný obsah nemá čo robiť pod správou verzií.
To, o co mi jde, vlastne neni nic jineho, jako kdybych si kazdy den tar
oval aktualni verzi a pridaval ji nekam do archivu.
Ano, to je presne to čo chceš, a riešenie, ktoré navrhuješ, je asi na splnenie Tvojho cieľa to správne. Na zamyslenie vlastne je, či k tomu potrebuješ Subversion; snažíš sa ho asi použiť na niečo, na čo určené nie je.
Urob si skript, ktorý Ti pri každom spustení uloží pracovný adresár do archívu (tar + bzip2, tar + gzip, zip, ...), pričom pre meno súboru použije aktuálny čas. Ked´ budeš chcieť urobiť "commit", spustíš skript a nemusíš sa zaoberať z operáciami add, del, mkdir, etc., proste vyrobíš snapshot pracovného adresára. Akurát neviem, či Ti takýto spôsob nebude zvyšovať práve ten chaos v projekte, ked´ nebude existovať mechanizmus, ktorý by Ťa nútil udržiavať poriadok. A z dotazu vyplýva, že na sebakontrolu si trochu lenivý (myslené polovážne, položartom). svn st svn add * svn st | grep ^! | sed s/!// | xargs svn delsvn move můžeš použít místo příkazu mv. On ten soubor přesune a uloží si o tom záznam. Řešení s tarem je poněkud nepohodlné, to bych radši nascriptoval manipulaci se svn. Ať už kvůli jednoduchému generování diffů, hooků na serveru nebo velmi jednoduché obnovování souborů z minulé verze. ps: píšu to z hlavy, tak to berte s rezervou
grep ^! | sed s/!//je ekvivalent
sed -n '/^!/{s/!//;p}'a to co jsi chtěl udělat jde taky
sed -n 's/^!//;T;p'
tr -d '!'
$ echo -e '!hu!ih\nuh!uh' | tr -d '!' huih uhuh $ echo -e '!hu!ih\nuh!uh' | grep '^!' | sed 's/!//' hu!ih $ echo -e '!hu!ih\nuh!uh' | sed -n 's/^!//;T;p' hu!ih
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.