diff --git a/tasks/install.gitscript.yml b/tasks/install.gitscript.yml
index 9431bda03575b0317a43524630b9095a4162cb41..5f30c8e7a4c201cbd0392131dcb4281bc91d01af 100644
--- a/tasks/install.gitscript.yml
+++ b/tasks/install.gitscript.yml
@@ -25,7 +25,7 @@
     dest: '{{ webRoot }}{{ drupal.src.git.target2 }}'
     force: yes
     version: '{{ drupal.src.git.branch|default(omit) }}'
-  when: drupal.src.git.target is defined
+  when: drupal.src.git.target2 is defined
 
 - name: "Run Script"
   shell: '{{ webRoot }}{{ drupal.src.git.target }}{{ drupal.src.script }}'
diff --git a/tasks/install.yml b/tasks/install.yml
index d4830bb9ea464a368b06515ef9cd3d3a584373df..4eba863882317cef8072f7235d8439f711633b71 100644
--- a/tasks/install.yml
+++ b/tasks/install.yml
@@ -47,6 +47,10 @@
 - include: install.{{ installSource.mode|default("none") }}.yml
   when: drupal_install_drupal and drupal_available is defined and drupal_available.stdout != '{{ drupalRoot }}/index.php'
 
+- include: users.{{ installSource.mode|default("none") }}.yml
+  when: drupal_install_drupal and drupal.src.name is defined
+  tags: 'SetPermissions'
+
 - name: "Configuration file"
   template:
     src='{{ item.src }}'
diff --git a/tasks/users.drush.yml b/tasks/users.drush.yml
new file mode 100644
index 0000000000000000000000000000000000000000..1d6a61228c67d4fc827a1a578e2eab4ad59b5f26
--- /dev/null
+++ b/tasks/users.drush.yml
@@ -0,0 +1,4 @@
+---
+# file: roles/drupal/tasks/users.drush.yml
+
+- set_fact: dummy=yes
diff --git a/tasks/users.gitscript.yml b/tasks/users.gitscript.yml
new file mode 100644
index 0000000000000000000000000000000000000000..77942cd5ddb115b140cdd7c512208c3c055580f1
--- /dev/null
+++ b/tasks/users.gitscript.yml
@@ -0,0 +1,28 @@
+---
+# file: roles/drupal/tasks/users.gitscript.yml
+
+- name: "Make sure the git group exists"
+  group: name='{{ drupal.src.name }}'
+
+- name: "Add users to git group"
+  user:
+    name='{{ item }}'
+    groups='{{ drupal.src.name }}'
+    append=yes
+  with_items: '{{ drupal.src.users|default([]) }}'
+
+- name: "File Modes and Ownership for Repository"
+  file:
+    path='{{ webRoot }}{{ drupal.src.git.target }}'
+    owner='root'
+    group='{{ drupal.src.name }}'
+    mode='ug+rw,o+r,o-w'
+    recurse=yes
+
+- name: "Create Update Script"
+  template:
+    src='scripts/update/gitscript'
+    dest='{{ webRoot }}/.update'
+    owner='root'
+    group='root'
+    mode='755'
diff --git a/tasks/users.none.yml b/tasks/users.none.yml
new file mode 100644
index 0000000000000000000000000000000000000000..94fd01e3738822dd2002f4f0df12a1342bedcab2
--- /dev/null
+++ b/tasks/users.none.yml
@@ -0,0 +1,4 @@
+---
+# file: roles/drupal/tasks/users.none.yml
+
+- set_fact: dummy=yes
diff --git a/tasks/users.svn.yml b/tasks/users.svn.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6d231ae8b82154e28cd9e1cb831bb5d12eab1c49
--- /dev/null
+++ b/tasks/users.svn.yml
@@ -0,0 +1,4 @@
+---
+# file: roles/drupal/tasks/users.svn.yml
+
+- set_fact: dummy=yes
diff --git a/templates/scripts/update/gitscript b/templates/scripts/update/gitscript
new file mode 100644
index 0000000000000000000000000000000000000000..cfacdd327c4e98bf526147813713b8cf13164685
--- /dev/null
+++ b/templates/scripts/update/gitscript
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+
+{% set path=[webRoot, drupal.src.git.target2|default(drupal.src.git.target)]|join('') %}
+cd {{ path }}
+
+chown -R {{ apacheUser }}:{{ apacheUser }} {{ path }}
+chmod -R g+w {{ path }}
+git fetch origin
+git pull origin master
+chown -R {{ apacheUser }}:{{ apacheUser }} {{ path }}
+chmod -R ug+r,ug-w,o-w,o-r {{ path }}