added support for custom git repos + mirror fix

Change-Id: Icea728380076f2881ec44d58bd8e932df9080f08
diff --git a/README.rst b/README.rst
index 0c260c1..bcf44fa 100644
--- a/README.rst
+++ b/README.rst
@@ -70,6 +70,17 @@
       server:
         directory: /srv/git
         repos:
+          - name: custom-repo-1
+          - name: custom-repo-2
+
+Reclass with GIT over HTTP server setup. Requires web server. Mirrored upsream repos example.
+
+.. code-block:: yaml
+
+    git:
+      server:
+        directory: /srv/git
+        repos:
           - name: gerritlib
             url: https://github.com/openstack-infra/gerritlib.git
           - name: jeepyb
diff --git a/git/server.sls b/git/server.sls
index 139200d..a00561a 100644
--- a/git/server.sls
+++ b/git/server.sls
@@ -15,15 +15,29 @@
 
 {%- for repo in server.get('repos',{}) %}
 
+{%- if repo.url is defined %}
+
 git_server_{{ repo.name }}:
   git.latest:
     - name: {{ repo.url }}
     - target: {{ server.directory }}/{{ repo.name }}.git
     - force_reset: True
+    - mirror: True
+    - require:
+        - file: {{ server.directory }}
+
+{%- else %}
+
+git_server_{{ repo.name }}:
+  git.present:
+    - name: {{ server.directory }}/{{ repo.name }}.git
+    - force: True
     - bare: True
     - require:
         - file: {{ server.directory }}
 
+{%- endif %}
+
 git_update_server_info_{{ repo.name }}:
   cmd.run:
     - name: git update-server-info