| | |
| | |
|
| | | private File repositoriesFolder;
|
| | |
|
| | | private boolean exportAll = true;
|
| | |
|
| | | private IUserService userService;
|
| | |
|
| | | private IStoredSettings settings;
|
| | |
| | | * @return list of all repositories
|
| | | */
|
| | | public List<String> getRepositoryList() {
|
| | | return JGitUtils.getRepositoryList(repositoriesFolder, exportAll,
|
| | | return JGitUtils.getRepositoryList(repositoriesFolder, |
| | | settings.getBoolean(Keys.git.onlyAccessBareRepositories, false),
|
| | | settings.getBoolean(Keys.git.searchRepositoriesSubfolders, true));
|
| | | }
|
| | |
|
| | |
| | | model.name = repositoryName;
|
| | | model.hasCommits = JGitUtils.hasCommits(r);
|
| | | model.lastChange = JGitUtils.getLastChange(r, null);
|
| | | model.isBare = r.isBare();
|
| | | StoredConfig config = JGitUtils.readConfig(r);
|
| | | if (config != null) {
|
| | | model.description = getConfig(config, "description", "");
|
| | |
| | | model.mailingLists = new ArrayList<String>(Arrays.asList(config.getStringList(
|
| | | "gitblit", null, "mailingList")));
|
| | | }
|
| | | model.defaultHead = JGitUtils.getSymbolicHeadTarget(r);
|
| | | model.availableHeads = JGitUtils.getAvailableHeadTargets(r);
|
| | | model.HEAD = JGitUtils.getHEADRef(r);
|
| | | model.availableRefs = JGitUtils.getAvailableHeadTargets(r);
|
| | | r.close();
|
| | | return model;
|
| | | }
|
| | |
| | | if (r != null) {
|
| | | updateConfiguration(r, repository);
|
| | | // only update symbolic head if it changes
|
| | | String currentHead = JGitUtils.getSymbolicHeadTarget(r);
|
| | | if (!StringUtils.isEmpty(repository.defaultHead) &&
|
| | | !repository.defaultHead.equals(currentHead)) {
|
| | | String currentRef = JGitUtils.getHEADRef(r);
|
| | | if (!StringUtils.isEmpty(repository.HEAD) && !repository.HEAD.equals(currentRef)) {
|
| | | logger.info(MessageFormat.format("Relinking {0} HEAD from {1} to {2}",
|
| | | repository.name, currentHead, repository.defaultHead));
|
| | | JGitUtils.setSymbolicHeadTarget(r, repository.defaultHead);
|
| | |
|
| | | // clear the cache
|
| | | clearRepositoryCache(repository.name);
|
| | | repository.name, currentRef, repository.HEAD));
|
| | | if (JGitUtils.setHEADtoRef(r, repository.HEAD)) {
|
| | | // clear the cache
|
| | | clearRepositoryCache(repository.name);
|
| | | }
|
| | | }
|
| | |
|
| | | // close the repository object
|
| | |
| | | this.settings = settings;
|
| | | repositoriesFolder = getRepositoriesFolder();
|
| | | logger.info("Git repositories folder " + repositoriesFolder.getAbsolutePath());
|
| | | repositoryResolver = new FileResolver<Void>(repositoriesFolder, exportAll);
|
| | | repositoryResolver = new FileResolver<Void>(repositoriesFolder, true);
|
| | | serverStatus = new ServerStatus(isGO());
|
| | | String realm = settings.getString(Keys.realm.userService, "users.properties");
|
| | | IUserService loginService = null;
|