summaryrefslogtreecommitdiffstats
path: root/src/com/gitblit/FileUserService.java
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2011-12-27 17:50:39 -0500
committerJames Moger <james.moger@gitblit.com>2011-12-27 17:50:39 -0500
commitd7905a15bf41df0574bd8613bf16f2d7ef0cb805 (patch)
treea56487c8c018bbb097c4c395033d2f17aa9341cf /src/com/gitblit/FileUserService.java
parent0fb1fd48c430d5dbb61485a9a6c6f52aac200e09 (diff)
downloadgitblit-d7905a15bf41df0574bd8613bf16f2d7ef0cb805.tar.gz
gitblit-d7905a15bf41df0574bd8613bf16f2d7ef0cb805.zip
Implemented Team hook scripts
Diffstat (limited to 'src/com/gitblit/FileUserService.java')
-rw-r--r--src/com/gitblit/FileUserService.java23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/com/gitblit/FileUserService.java b/src/com/gitblit/FileUserService.java
index 27892f71..88c7d790 100644
--- a/src/com/gitblit/FileUserService.java
+++ b/src/com/gitblit/FileUserService.java
@@ -20,6 +20,7 @@ import java.io.FileWriter;
import java.io.IOException;
import java.text.MessageFormat;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -334,6 +335,7 @@ public class FileUserService extends FileSettings implements IUserService {
}
list.add(user);
}
+ Collections.sort(list);
return list;
}
@@ -368,6 +370,7 @@ public class FileUserService extends FileSettings implements IUserService {
} catch (Throwable t) {
logger.error(MessageFormat.format("Failed to get usernames for role {0}!", role), t);
}
+ Collections.sort(list);
return list;
}
@@ -619,11 +622,17 @@ public class FileUserService extends FileSettings implements IUserService {
List<String> repositories = new ArrayList<String>();
List<String> users = new ArrayList<String>();
List<String> mailingLists = new ArrayList<String>();
+ List<String> preReceive = new ArrayList<String>();
+ List<String> postReceive = new ArrayList<String>();
for (String role : roles) {
if (role.charAt(0) == '!') {
users.add(role.substring(1));
} else if (role.charAt(0) == '&') {
- mailingLists.add(role.substring(1));
+ mailingLists.add(role.substring(1));
+ } else if (role.charAt(0) == '^') {
+ preReceive.add(role.substring(1));
+ } else if (role.charAt(0) == '%') {
+ postReceive.add(role.substring(1));
} else {
repositories.add(role);
}
@@ -656,6 +665,7 @@ public class FileUserService extends FileSettings implements IUserService {
@Override
public List<String> getAllTeamNames() {
List<String> list = new ArrayList<String>(teams.keySet());
+ Collections.sort(list);
return list;
}
@@ -691,6 +701,7 @@ public class FileUserService extends FileSettings implements IUserService {
} catch (Throwable t) {
logger.error(MessageFormat.format("Failed to get teamnames for role {0}!", role), t);
}
+ Collections.sort(list);
return list;
}
@@ -841,6 +852,16 @@ public class FileUserService extends FileSettings implements IUserService {
sb.append(address);
sb.append(',');
}
+ for (String script : model.preReceiveScripts) {
+ sb.append('^');
+ sb.append(script);
+ sb.append(',');
+ }
+ for (String script : model.postReceiveScripts) {
+ sb.append('%');
+ sb.append(script);
+ sb.append(',');
+ }
// trim trailing comma
sb.setLength(sb.length() - 1);
allUsers.remove("@" + teamname);