<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -7,3 +7,4 @@ Contributors:
     * Jannis Leidel &lt;http://jezdez.com/&gt; 
     * Matthew R. Scott &lt;http://http://goldenspud.com/rotr/&gt;
     * Alexander Artemenko &lt;http://aartemenko.com/&gt;
+    * Taras Mankovski &lt;http://taras.cc/&gt;</diff>
      <filename>AUTHORS.txt</filename>
    </modified>
    <modified>
      <diff>@@ -24,6 +24,10 @@ branch
     If you want to stay up to date with a certain branch other than
     &quot;master&quot;, use this.
 
+paths
+    List of relative paths to packages to develop. Must be used together
+    with as_egg=true.
+
 newest
     This overrides the newest-option of the global setting for this
     part</diff>
      <filename>README.rst</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@ setup(
         author_email='zerok@zerokspot.com',
         description='Simple zc.buildout recipe for sources in a git repository',
         long_description = open('README.rst', 'r').read(),
-        version='0.4.2',
+        version='0.5.0',
         url='http://github.com/zerok/zerokspot.gitrecipe/',
         install_requires=['setuptools', 'zc.buildout'],
         namespace_packages=['zerokspot'],</diff>
      <filename>setup.py</filename>
    </modified>
    <modified>
      <diff>@@ -6,6 +6,7 @@ subversion repositories::
     [myapp]
     recipe = zerokspot.recipe.git
     repository = &lt;url-of-repository&gt;
+    paths = &lt;relative-paths-to-packages-inside-repository&gt;
     branch = &lt;name-of-branch&gt; # default: &quot;master&quot;
     rev = &lt;name-of-revision&gt; # default: None
     newest = [true|false] # default: false, stay up to date even when
@@ -68,10 +69,15 @@ class Recipe(object):
         Revision that should be used. This is useful if you want to freeze
         the source at a given revision. If this is used, an update won't do
         all that much when executed.
-
+        
+    paths
+        List of relative paths to packages to develop. Must be used together
+        with as_egg=true.
+        
     as_egg
         Set to True if you want the checkout to be registered as a
         development egg in your buildout.
+        
     &quot;&quot;&quot;
 
     def __init__(self, buildout, name, options):
@@ -104,6 +110,7 @@ class Recipe(object):
         self.part_updated = False
         self.cache_cloned = False
         self.installed_from_cache = False
+        self.paths = options.get('paths', None)
 
     def install(self):
         &quot;&quot;&quot;
@@ -225,6 +232,13 @@ class Recipe(object):
         &quot;&quot;&quot;
         Install clone as development egg.
         &quot;&quot;&quot;
-        path = self.options['location']
+        def _install(path, target):
+            zc.buildout.easy_install.develop(path, target)
+            
         target = self.buildout['buildout']['develop-eggs-directory']
-        zc.buildout.easy_install.develop(path, target)
+        if self.paths:
+            for path in self.paths.split():
+                path = os.path.join(self.options['location'], path.strip())
+                _install(path, target)
+        else:
+            _install(self.options['location'], target)</diff>
      <filename>zerokspot/recipe/git/__init__.py</filename>
    </modified>
    <modified>
      <diff>@@ -5,6 +5,13 @@ import tempfile
 from zc.buildout import testing
 import zc.buildout
 
+def do_buildout(buildout_file, options=None):
+    if options is None:
+        options = []
+    build = zc.buildout.buildout.Buildout(buildout_file, options)
+    build.init(None)
+    build.install(None)
+    return build
 
 class UtilsTests(unittest.TestCase):
     &quot;&quot;&quot;
@@ -78,12 +85,7 @@ class RecipeTests(unittest.TestCase):
         testing.rmdir(self.temprepos)
 
     def _buildout(self, options=None):
-        if options is None:
-            options = []
-        build = zc.buildout.buildout.Buildout(os.path.join(self.tempdir, 'buildout.cfg'), options)
-        build.init(None)
-        build.install(None)
-        return build
+        return do_buildout(os.path.join(self.tempdir, 'buildout.cfg'), options)
 
     def testFetch(self):
         &quot;&quot;&quot;
@@ -183,6 +185,43 @@ as_egg = true
         installs = os.listdir(buildout['buildout']['develop-eggs-directory'])
         self.assertTrue('zerokspot.recipe.git.egg-link' in installs)
 
+class MultiEggTests(unittest.TestCase):
+    def setUp(self):
+        self.projectdir = tempfile.mkdtemp()
+        self.temprepo = tempfile.mkdtemp()
+        for i in range(2):
+            base_dir = os.path.join(self.temprepo, 'project%d' % (i, ))
+            testing.mkdir(base_dir)
+            setup_py = '''from setuptools import setup
+setup(name='project%(num)d', version='1.0', py_modules=['test'])''' % {'num': i}
+            with open(os.path.join(base_dir, 'setup.py'), 'w+') as fp:
+                fp.write(setup_py)
+            with open(os.path.join(base_dir, 'test.py'), 'w+') as fp:
+                fp.write('# Dummy module')
+        testing.system('cd %s &amp;&amp; git init &amp;&amp; git add * &amp;&amp; git commit -m &quot;Test&quot;' % self.temprepo)
+
+    def testBasic(self):
+        testing.write(self.projectdir, 'buildout.cfg', &quot;&quot;&quot;
+[buildout]
+parts = gittest
+
+[gittest]
+recipe = zerokspot.recipe.git
+repository = %(repo)s
+as_egg = true
+paths = 
+    project0
+    project1
+&quot;&quot;&quot; % {'repo': self.temprepo})
+        buildout = do_buildout(os.path.join(self.projectdir, 'buildout.cfg'))
+        installs = os.listdir(buildout['buildout']['develop-eggs-directory'])
+        self.assertTrue('project0.egg-link' in installs)
+        self.assertTrue('project1.egg-link' in installs)
+
+    def tearDown(self):
+        testing.rmdir(self.temprepo)
+        testing.rmdir(self.projectdir)
+
 if __name__ == '__main__':
     sys.path.insert(0,  os.path.normpath(
                             os.path.join(</diff>
      <filename>zerokspot/recipe/git/tests.py</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>39e145ded5a1f8b4255a83367e8e3ddd2c791576</id>
    </parent>
  </parents>
  <author>
    <name>Horst Gutmann</name>
    <email>zerok@zerokspot.com</email>
  </author>
  <url>http://github.com/zerok/zerokspot.gitrecipe/commit/2de92e2e5b5087a25a342726533eef79e1664680</url>
  <id>2de92e2e5b5087a25a342726533eef79e1664680</id>
  <committed-date>2009-10-12T13:00:23-07:00</committed-date>
  <authored-date>2009-10-12T13:00:23-07:00</authored-date>
  <message>Added patch by Taras Mankovski &lt;http://taras.cc/&gt; that adds support for multiple PyProject within on git repository

+ Some unittests</message>
  <tree>b68a1a3891ef2d0ef0d313903c34318ca96b7455</tree>
  <committer>
    <name>Horst Gutmann</name>
    <email>zerok@zerokspot.com</email>
  </committer>
</commit>
