diff options
author | James Moger <james.moger@gitblit.com> | 2013-07-03 08:16:39 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2013-07-03 08:16:39 -0400 |
commit | abab3a4e2bc221eb358f846f171cb24fc0f687ad (patch) | |
tree | 7fad9337597d41bd71cf833ee0c36f493e830179 /src/main | |
parent | 316649013357fa5f355b19e429520bfd3036d2d0 (diff) | |
download | gitblit-abab3a4e2bc221eb358f846f171cb24fc0f687ad.tar.gz gitblit-abab3a4e2bc221eb358f846f171cb24fc0f687ad.zip |
Support hot-reloading of project.mkd
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/distrib/data/git/project.mkd | 12 | ||||
-rw-r--r-- | src/main/java/com/gitblit/GitBlit.java | 48 |
2 files changed, 39 insertions, 21 deletions
diff --git a/src/main/distrib/data/git/project.mkd b/src/main/distrib/data/git/project.mkd new file mode 100644 index 00000000..851b57a3 --- /dev/null +++ b/src/main/distrib/data/git/project.mkd @@ -0,0 +1,12 @@ +This project contains all repositories created directly in the root of *git.repositoriesFolder*.
+
+This message is stored in *git.repositoriesFolder*/**project.mkd**
+
+#### Other Projects
+
+Each project, or repository group, may specify it's own message by defining a **project.mkd** file in the project folder.
+
+<pre>
+<i>git.repositoriesFolder</i>/projecta/<b>project.mkd</b>
+<i>git.repositoriesFolder</i>/projectb/<b>project.mkd</b>
+</pre>
diff --git a/src/main/java/com/gitblit/GitBlit.java b/src/main/java/com/gitblit/GitBlit.java index 1fd52f1a..ca21717c 100644 --- a/src/main/java/com/gitblit/GitBlit.java +++ b/src/main/java/com/gitblit/GitBlit.java @@ -1697,6 +1697,30 @@ public class GitBlit implements ServletContextListener { 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); + } + } + /** * Returns the map of project config. This map is cached and reloaded if @@ -1731,27 +1755,7 @@ public class GitBlit implements ServletContextListener { 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); } @@ -1873,6 +1877,8 @@ public class GitBlit implements ServletContextListener { // no repositories == no project return null; } + + reloadProjectMarkdown(project); return project; } |