============ mr.developer ============ mr.developer ist eine Buildout-Erweiterung, mit der sich Projekte, die über mehrere Repositories verteilt sind, verwalten lassen. ``mr.developer`` wird in der ``extensions``-Option im ``[buildout]``-Abschnitt hinzugefügt. Anschließend können folgende weitere Optionen festgelegt werden: ``sources-dir`` Das Verzeichnis, in das die Pakete heruntergeladen werden. Der Standardwert ist ``src``. ``sources`` Liste der Repository-Informationen der Pakete. Das Format ist `` [key=value]``. ``kind`` ``svn``, ``hg`` oder ``git`` ``url`` Die URL des Repository ``key=value`` Hier können Optionen für jedes einzelne Paket angegeben werden. Es können weder Leerzeichen in ``key`` noch in ``value`` noch um das Gleichheitszeichen herum verwendet werden. Im Folgenden einige der gebräuchlichsten Optionen: ``path`` Optionale Angabe des Pfads, in den das Paket ausgecheckt wird, wobei der Name des Pakets dem Pfad angehängt wird. Wird keine Angabe für ``path`` getroffen, wird stattdessen ``sources-dir`` verwendet. ``full-path`` Angabe des Pfades, in das ein Paket ausgecheckt wird ohne dass der Paketname angehängt wird. ``update`` spezifiziert, ob ein Paket beim Durchlaufen von Buildout aktualisiert werden soll oder nicht. Die Angabe überschreibt die globale ``always-checkout``-Anweisung. ``egg`` Diese Option erlaubt, die Verwaltung von Paketen, die keine Python-Eggs sind mit ``egg=false``. Dann wird das Paket nicht der ``develop``-Option von Buildout hinzugefügt. ``auto-checkout`` Pakete, die beim initialen Aufruf des ``buildout``-Skripts automatisch ausgecheckt werden. ``*`` kann angegeben werden falls alle Pakete in ``sources`` ausgecheckt werden sollen. ``always-checkout`` Der Standardwert ist ``false``. ``true`` Alle in ``auto-checkout`` angegebenen Pakete, die im *develop mode* sind, werden aktualisiert sobald das ``buildout``-Skript aufgerufen wird. ``force`` Wie bei ``true``, jedoch werden auch die als ``dirty`` markierten Pakete ohne Rückfrage aktualisiert. Hier ein Beispiel für einen solchen Eintrag in die ``buildout.cfg``-Datei:: [buildout] … extensions = mr.developer sources = sources auto-checkout = vs.policy some.package bootstrap always-checkout = true [sources] vs.policy = svn https://svn.veit-schiele.de/svn/vs.policy/trunk some.package = git git://example.com/git/some.package.git bootstrap = git git://github.com/twitter/bootstrap.git rev=d9b502dfb876c40b0735008bac18049c7ee7b6d2 path=${buildout:directory} egg=false Buildout erzeugt nun ein Skript ``bin/develop``, das verschiedene Aktionen zu den einzelnen Paketen erlaubt, wie z.B. das Auschecken des Quellcodes ohne den Ort des Repositories kennen zu müssen. Für weitere Aktionen geben Sie einfach folgendes ein:: $ ./bin/develop help Wird der Quellcode aus einem Paket ausgecheckt, muss ``buildout`` erneut durchlaufen werden. Das Paket wird dann automatisch als *develop egg* markiert, und falls es in der Liste der ``versions``-Option festgeschrieben wurde wird dieser Eintrag gelöscht und das *develop egg* verwendet. Die Liste der *develop eggs* kann mit den ``activate``- und ``deactivate``-Kommandos von ``bin/develop`` gesteuert werden.