Subversion

siehe auch Subclipse @ eclipse.txt Quick Reference: http://www.oxygenxml.com/doc/ug-standalone/cmd-line-quick-reference.html

Repos http://foobar.com/svn/repos/foo/ mit -r jederzeit auf ältere Revisions zugreifen, z. B. zum Mergen z. B. svn copy -m „Tag für's Merging angelegt“ http://foobar.com/svn/repos/foo/branches/profil_umbau/htdocs -r 3547 http://foobar.com/svn/repos/foo/tags/PRE-Profile

Repo anlegen


sudo svnadmin create /svn/foo sudo chown -R www-data:wwwdata inaudito sudo vi /etc/apache2/authz_svn.access

Rechte * /etc/apache2/authz_svn.access [foo:/] karl = rw heinz = rw

Subversion-Verzeichnisse löschen

Verzeichnisse aus der Versionierung herausnehmen.

find . -type d -name ".svn" -print0 | xargs -0 rm -rdf

Hilfe * svn help * svn help foo

Checkout * svn co * auch für einzelne Verzeichnisse, z. B. wenn Checksummen durcheinandergeraten ….. URL des betroffenen Verzeichnisses via .svn/entries auslesen, in temporärem Verzeichnis neu ausschecken (svn co url), das alte ersetzen cd ..; rm -r -f foo; mv ~/temp/…/foo foo

Eigenschaften auslesen .svn/entries

Ignore


propdel propedit propget propset

svn propget PROPNAME [ZIEL[@REV]…] svn propset svn:ignore „uploads“ web: Suchmuster zeilenweise, dahinter der relative Pfad svn propset svn:ignore -F web/.svnignore web: Suchmuster aus Datei, da Zeilenumbrüche im Terminal nicht angenommen svn propget svn:ignore web: Ignore-Eigenschaften prüfen

svn propset svn:ignore “ .project .cache .settings “ /home/theil/dev/workspace/foo

Merge - Repositories zusammenführen

  • Situation: isolierte Änderungen in eigenem Branch erstellt, Trunk parallel weiterentwickelt –> jetzt zusammenzuführen
  • Diff anlegen: beide Projekte auswählen, … diff … als Datei speichern
  • Branch: Apply Patch: Datei auswählen, Konflikte manuell auflösen
  • Branch: Commit
  • Trunk: Merge … Branch auswählen ………………..
  • Trunk: Commit

Update * svn up -r 17 foo/bar: Ordner foo/bar auf Revision 17 zurücksetzen

Geben Sie 'svn help UNTERBEFEHL' ein, um Hilfe zu einem Unterbefehl zu erhalten.

Die meisten Unterbefehle akzeptieren Datei und/oder Verzeichnisparameter, wobei die Verzeichnisse rekursiv durchlaufen werden. Wenn keine Parameter angegeben werden, durchläuft der Befehl das aktuelle Verzeichnis rekursiv.

Verfügbare Unterbefehle:

 add
 blame (praise, annotate, ann)
 cat
 checkout (co)
 cleanup
 commit (ci)
 copy (cp)
 delete (del, remove, rm)
 diff (di)
 export
 help (?, h)
 import
 info
 list (ls)
 log
 merge
 mkdir
 move (mv, rename, ren)
 propdel (pdel, pd)
 propedit (pedit, pe)
 propget (pget, pg)
 proplist (plist, pl)
 propset (pset, ps)
 resolved
 revert
 status (stat, st)
 switch (sw)
 update (up)

Externals und Ignore propedit svn propedit svn:externals projektpfad extern einzubindende Verzeichnisse des Projektes anzeigen und bearbeiten svn propedit svn:ignore projektpfad zu ignorierende Verzeichnisse des Projektes

Externals einbinden svn propget svn:externals . svn propedit svn:externals . z. B.: plugins/sfDoctrinePlugin -r7754 http://svn.symfony-project.com/plugins/sfDoctrinePlugin/branches/1.0 * Verzeichnis wird nicht versioniert! * wenn Verzeichnis neu in bestehendes Projekt angelegt: komplett neu auschecken! * wenn versioniertes Verzeichnis durch symbolischen Link ersetzt

Status …

Override and update * svn revert -R . * svn update

Kontext

Weiterführende Beiträge


Navigation

Alphabetischer Index
Akronyme