| | |
| | | import com.gitblit.utils.FederationUtils; |
| | | import com.gitblit.utils.HttpUtils; |
| | | import com.gitblit.utils.JGitUtils; |
| | | import com.gitblit.utils.JGitUtils.LastChange; |
| | | import com.gitblit.utils.JsonUtils; |
| | | import com.gitblit.utils.MetricUtils; |
| | | import com.gitblit.utils.ObjectCache; |
| | |
| | | self().timezone = TimeZone.getTimeZone(tzid); |
| | | } |
| | | return self().timezone; |
| | | } |
| | | |
| | | /** |
| | | * Returns the active settings. |
| | | * |
| | | * @return the active settings |
| | | */ |
| | | public static IStoredSettings getSettings() { |
| | | return self().settings; |
| | | } |
| | | |
| | | /** |
| | |
| | | model.hasCommits = JGitUtils.hasCommits(r); |
| | | } |
| | | |
| | | model.lastChange = JGitUtils.getLastChange(r); |
| | | LastChange lc = JGitUtils.getLastChange(r); |
| | | model.lastChange = lc.when; |
| | | model.lastChangeAuthor = lc.who; |
| | | if (!model.skipSizeCalculation) { |
| | | ByteFormat byteFormat = new ByteFormat(); |
| | | model.size = byteFormat.format(calculateSize(model)); |
| | |
| | | } |
| | | } |
| | | return count; |
| | | } |
| | | |
| | | private void reloadProjectMarkdown(ProjectModel project) { |
| | | // project markdown |
| | | File pmkd = new File(getRepositoriesFolder(), (project.isRoot ? "" : project.name) + "/project.mkd"); |
| | | if (pmkd.exists()) { |
| | | Date lm = new Date(pmkd.lastModified()); |
| | | if (!projectMarkdownCache.hasCurrent(project.name, lm)) { |
| | | String mkd = com.gitblit.utils.FileUtils.readContent(pmkd, "\n"); |
| | | projectMarkdownCache.updateObject(project.name, lm, mkd); |
| | | } |
| | | project.projectMarkdown = projectMarkdownCache.getObject(project.name); |
| | | } |
| | | |
| | | // project repositories markdown |
| | | File rmkd = new File(getRepositoriesFolder(), (project.isRoot ? "" : project.name) + "/repositories.mkd"); |
| | | if (rmkd.exists()) { |
| | | Date lm = new Date(rmkd.lastModified()); |
| | | if (!projectRepositoriesMarkdownCache.hasCurrent(project.name, lm)) { |
| | | String mkd = com.gitblit.utils.FileUtils.readContent(rmkd, "\n"); |
| | | projectRepositoriesMarkdownCache.updateObject(project.name, lm, mkd); |
| | | } |
| | | project.repositoriesMarkdown = projectRepositoriesMarkdownCache.getObject(project.name); |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | project.title = projectConfigs.getString("project", name, "title"); |
| | | project.description = projectConfigs.getString("project", name, "description"); |
| | | |
| | | // project markdown |
| | | File pmkd = new File(getRepositoriesFolder(), (project.isRoot ? "" : name) + "/project.mkd"); |
| | | if (pmkd.exists()) { |
| | | Date lm = new Date(pmkd.lastModified()); |
| | | if (!projectMarkdownCache.hasCurrent(name, lm)) { |
| | | String mkd = com.gitblit.utils.FileUtils.readContent(pmkd, "\n"); |
| | | projectMarkdownCache.updateObject(name, lm, mkd); |
| | | } |
| | | project.projectMarkdown = projectMarkdownCache.getObject(name); |
| | | } |
| | | |
| | | // project repositories markdown |
| | | File rmkd = new File(getRepositoriesFolder(), (project.isRoot ? "" : name) + "/repositories.mkd"); |
| | | if (rmkd.exists()) { |
| | | Date lm = new Date(rmkd.lastModified()); |
| | | if (!projectRepositoriesMarkdownCache.hasCurrent(name, lm)) { |
| | | String mkd = com.gitblit.utils.FileUtils.readContent(rmkd, "\n"); |
| | | projectRepositoriesMarkdownCache.updateObject(name, lm, mkd); |
| | | } |
| | | project.repositoriesMarkdown = projectRepositoriesMarkdownCache.getObject(name); |
| | | } |
| | | reloadProjectMarkdown(project); |
| | | |
| | | configs.put(name.toLowerCase(), project); |
| | | } |
| | |
| | | // no repositories == no project |
| | | return null; |
| | | } |
| | | |
| | | reloadProjectMarkdown(project); |
| | | return project; |
| | | } |
| | | |
| | |
| | | model.name = repositoryName; |
| | | } |
| | | model.hasCommits = JGitUtils.hasCommits(r); |
| | | model.lastChange = JGitUtils.getLastChange(r); |
| | | LastChange lc = JGitUtils.getLastChange(r); |
| | | model.lastChange = lc.when; |
| | | model.lastChangeAuthor = lc.who; |
| | | model.projectPath = StringUtils.getFirstPathElement(repositoryName); |
| | | |
| | | StoredConfig config = r.getConfig(); |
| | |
| | | File repoFolder = new File(getRepositoriesFolder(), originRepo); |
| | | if (repoFolder.exists()) { |
| | | model.originRepository = originRepo.toLowerCase(); |
| | | |
| | | // persist the fork origin |
| | | updateConfiguration(r, model); |
| | | } |
| | | } |
| | | } catch (URISyntaxException e) { |