wiki:linux/trac/Repository/add

add

See also:

Repository Administration


Davon ausgehend, dass das mercurial plugin? installiert ist, kann ein repository mit folgenden Schritten angelegt und konfiguriert werden:

$ trac-admin <trac-env> repository add <repo-name> <repo-path> hg
$ trac-admin <trac-env> repository set <repo-name> url http://hg.mutetella.org/denkdran
$ trac-admin <trac-env> repository resync <repo-name>
  • <trac-env> bezeichnet das Trac project, sprich den Pfad der Tracumgebung, z. B. ~/webapps/trac/code
  • <repo-name> bezeichnet den Namen des Repositories, z. B. dotfiles
  • <repo-path> definiert das Verzeichnis, in dem sich das Repository befindet, z. B. ~/webapps/hg/dotfiles
  • <repo-url>' bestimmt die root-URL zum auschecken eines Repositories, z. B. http://hg.mutetella.org/code/dotfiles `

Beispiel eines zuletzt angelegten Repositories:

$ mkdir -p ~/webapps/hg/pygame/pycon2013
$ hg init ~/webapps/hg/pygame/pycon2013
$ trac-admin ~/webapps/trac/code repository add pygame@pycon2013 ~/webapps/hg/pygame/pycon2013 hg
$ trac-admin ~/webapps/trac/code repository set pygame@pycon2013 url http://hg.mutetella.org/pygame/pycon2013
$ trac-admin ~/webapps/trac/code repository resync pygame@pycon2013

Damit Übertragungen (hg push) in das neue Repository automatisch geupdatet werden, sollte innerhalb des Repositories die Datei .hg/hgrc folgenden Eintrag enthalten:

[hooks]
changegroup = hg update

Anmerkung

Um Trac Links auf eine revision/ein changeset zu legen, muss auf ein repository, das nicht als default definiert ist, explizit verwiesen werden.
So ein Verweis sieht dann z. B. so aus: [changeset:134/denkdran revision 134]
Fehlt ein solcher explizite Verweis, geht trac vom default-repository aus.
Ein repository als default zu kennzeichnen erreicht man über 2 Wege:

  • Entweder man gibt ihm den Namen "(default)"
    trac-admin <trac-env> repository set denkdran name "(default)"
    
    was den unschönen Effekt hat, dass dieses repository unter 'Browse Source' nicht mehr eigens im Repository Index aufgeführt ist.
  • Man übergibt beim Anlegen als type "(default)" an
    trac-admin <trac-env> repository add denkdran <repo-path> type (default)
    
    womit das repository selbst mit gesetztem
    [trac]
    ...
    repository_type = hg
    
    in der 'trac.ini' nicht erkannt wird. Ein Fehler im mercurial-plugin?

Letzten Endes finde ich die explizite Angabe des repository-Namens kein Problem. Man muss es nur wissen... ;-)

Last modified 6 years ago Last modified on Oct 16, 2013, 1:32:06 PM