**New:** *web.enableRpcAdministration = false*\r
- added: reusable JSON RPC client class\r
- added: Gitblit Manager (Java/Swing Application) for remote administration of a Gitblit server.\r
+- added: per-repository setting to skip size calculation (faster repositories page loading)\r
+- added: per-repository setting to skip summary metrics calculation (faster summary page loading)\r
- fixed: federation protocol timestamps. dates are now serialized to the [iso8601](http://en.wikipedia.org/wiki/ISO_8601) standard. \r
**This breaks 0.6.0 federation clients/servers.**\r
- fixed: collision on rename for repositories and users\r
**New:** *web.enableRpcAdministration = false*\r
- added: reusable JSON RPC client class\r
- added: Gitblit Manager (Java/Swing Application) for remote administration of a Gitblit server.\r
+- added: per-repository setting to skip size calculation (faster repositories page loading)\r
+- added: per-repository setting to skip summary metrics calculation (faster summary page loading)\r
- fixed: federation protocol timestamps. dates are now serialized to the [iso8601](http://en.wikipedia.org/wiki/ISO_8601) standard. \r
**This breaks 0.6.0 federation clients/servers.**\r
- fixed: collision on rename for repositories and users\r
model.isFrozen = getConfig(config, "isFrozen", false);\r
model.showReadme = getConfig(config, "showReadme", false);\r
model.skipSizeCalculation = getConfig(config, "skipSizeCalculation", false);\r
+ model.skipSummaryMetrics = getConfig(config, "skipSummaryMetrics", false);\r
model.federationStrategy = FederationStrategy.fromName(getConfig(config,\r
"federationStrategy", null));\r
model.federationSets = new ArrayList<String>(Arrays.asList(config.getStringList(\r
config.setBoolean("gitblit", null, "isFrozen", repository.isFrozen);\r
config.setBoolean("gitblit", null, "showReadme", repository.showReadme);\r
config.setBoolean("gitblit", null, "skipSizeCalculation", repository.skipSizeCalculation);\r
+ config.setBoolean("gitblit", null, "skipSummaryMetrics", repository.skipSummaryMetrics);\r
config.setStringList("gitblit", null, "federationSets", repository.federationSets);\r
config.setString("gitblit", null, "federationStrategy",\r
repository.federationStrategy.name());\r
\r
private JCheckBox skipSizeCalculation;\r
\r
+ private JCheckBox skipSummaryMetrics;\r
+\r
private JCheckBox isFrozen;\r
\r
private JComboBox accessRestriction;\r
anRepository.showReadme);\r
skipSizeCalculation = new JCheckBox(Translation.get("gb.skipSizeCalculationDescription"),\r
anRepository.skipSizeCalculation);\r
+ skipSummaryMetrics = new JCheckBox(Translation.get("gb.skipSummaryMetricsDescription"),\r
+ anRepository.skipSummaryMetrics);\r
isFrozen = new JCheckBox(Translation.get("gb.isFrozenDescription"), anRepository.isFrozen);\r
\r
accessRestriction = new JComboBox(AccessRestrictionType.values());\r
fieldsPanel.add(newFieldPanel(Translation.get("gb.showReadme"), showReadme));\r
fieldsPanel.add(newFieldPanel(Translation.get("gb.skipSizeCalculation"),\r
skipSizeCalculation));\r
+ fieldsPanel\r
+ .add(newFieldPanel(Translation.get("gb.skipSummaryMetrics"), skipSummaryMetrics));\r
fieldsPanel.add(newFieldPanel(Translation.get("gb.isFrozen"), isFrozen));\r
\r
usersPalette = new JPalette<String>();\r
repository.showRemoteBranches = showRemoteBranches.isSelected();\r
repository.showReadme = showReadme.isSelected();\r
repository.skipSizeCalculation = skipSizeCalculation.isSelected();\r
+ repository.skipSummaryMetrics = skipSummaryMetrics.isSelected();\r
repository.isFrozen = isFrozen.isSelected();\r
\r
repository.accessRestriction = (AccessRestrictionType) accessRestriction.getSelectedItem();\r
case Last_Change:\r
return model.lastChange;\r
case Size:\r
- return model.size;\r
+ if (model.hasCommits) {\r
+ return model.size;\r
+ }\r
+ return "(empty)";\r
}\r
return null;\r
}\r
public List<String> federationSets;\r
public boolean isFederated;\r
public boolean skipSizeCalculation;\r
+ public boolean skipSummaryMetrics;\r
public String frequency;\r
public String origin;\r
public String size;\r
gb.manage = manage\r
gb.lastLogin = last login\r
gb.skipSizeCalculation = skip size calculation\r
-gb.skipSizeCalculationDescription = do not calculate the repository size
\ No newline at end of file
+gb.skipSizeCalculationDescription = do not calculate the repository size (reduces page load time)\r
+gb.skipSummaryMetrics = skip summary metrics\r
+gb.skipSummaryMetricsDescription = do not calculate metrics on the summary page (reduces page load time)
\ No newline at end of file
<tr><th><wicket:message key="gb.showRemoteBranches"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="showRemoteBranches" tabindex="7" /> <i><wicket:message key="gb.showRemoteBranchesDescription"></wicket:message></i></td></tr>\r
<tr><th><wicket:message key="gb.showReadme"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="showReadme" tabindex="8" /> <i><wicket:message key="gb.showReadmeDescription"></wicket:message></i></td></tr>\r
<tr><th><wicket:message key="gb.skipSizeCalculation"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="skipSizeCalculation" tabindex="9" /> <i><wicket:message key="gb.skipSizeCalculationDescription"></wicket:message></i></td></tr>\r
- <tr><th><wicket:message key="gb.isFrozen"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="isFrozen" tabindex="10" /> <i><wicket:message key="gb.isFrozenDescription"></wicket:message></i></td></tr>\r
+ <tr><th><wicket:message key="gb.skipSummaryMetrics"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="skipSummaryMetrics" tabindex="10" /> <i><wicket:message key="gb.skipSummaryMetricsDescription"></wicket:message></i></td></tr>\r
+ <tr><th><wicket:message key="gb.isFrozen"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="isFrozen" tabindex="11" /> <i><wicket:message key="gb.isFrozenDescription"></wicket:message></i></td></tr>\r
<tr><td colspan="2"><hr></hr></td></tr>\r
- <tr><th><wicket:message key="gb.accessRestriction"></wicket:message></th><td class="edit"><select class="span6" wicket:id="accessRestriction" tabindex="11" /></td></tr> \r
+ <tr><th><wicket:message key="gb.accessRestriction"></wicket:message></th><td class="edit"><select class="span6" wicket:id="accessRestriction" tabindex="12" /></td></tr> \r
<tr><th style="vertical-align: top;"><wicket:message key="gb.permittedUsers"></wicket:message></th><td style="padding:2px;"><span wicket:id="users"></span></td></tr>\r
<tr><td colspan="2"><hr></hr></td></tr> \r
- <tr><th><wicket:message key="gb.federationStrategy"></wicket:message></th><td class="edit"><select class="span6" wicket:id="federationStrategy" tabindex="12" /></td></tr>\r
+ <tr><th><wicket:message key="gb.federationStrategy"></wicket:message></th><td class="edit"><select class="span6" wicket:id="federationStrategy" tabindex="13" /></td></tr>\r
<tr><th style="vertical-align: top;"><wicket:message key="gb.federationSets"></wicket:message></th><td style="padding:2px;"><span wicket:id="federationSets"></span></td></tr>\r
- <tr><th></th><td class="editButton"><input class="btn" type="submit" value="Cancel" wicket:message="value:gb.cancel" wicket:id="cancel" tabindex="13" /> <input class="btn primary" type="submit" value="Save" wicket:message="value:gb.save" wicket:id="save" tabindex="14" /> </td></tr>\r
+ <tr><th></th><td class="editButton"><input class="btn" type="submit" value="Cancel" wicket:message="value:gb.cancel" wicket:id="cancel" tabindex="14" /> <input class="btn primary" type="submit" value="Save" wicket:message="value:gb.save" wicket:id="save" tabindex="15" /> </td></tr>\r
</tbody>\r
</table>\r
</form> \r
form.add(new CheckBox("showRemoteBranches"));\r
form.add(new CheckBox("showReadme"));\r
form.add(new CheckBox("skipSizeCalculation"));\r
+ form.add(new CheckBox("skipSummaryMetrics"));\r
form.add(usersPalette);\r
form.add(federationSetsPalette);\r
\r
import com.gitblit.Keys;\r
import com.gitblit.models.Metric;\r
import com.gitblit.models.PathModel;\r
+import com.gitblit.models.RepositoryModel;\r
import com.gitblit.utils.JGitUtils;\r
import com.gitblit.utils.MarkdownUtils;\r
import com.gitblit.utils.StringUtils;\r
int numberRefs = GitBlit.getInteger(Keys.web.summaryRefsCount, 5);\r
\r
Repository r = getRepository();\r
+ RepositoryModel model = getRepositoryModel();\r
List<Metric> metrics = null;\r
Metric metricsTotal = null;\r
- if (GitBlit.getBoolean(Keys.web.generateActivityGraph, true)) {\r
- metrics = GitBlit.self().getRepositoryDefaultMetrics(getRepositoryModel(), r);\r
+ if (!model.skipSummaryMetrics && GitBlit.getBoolean(Keys.web.generateActivityGraph, true)) {\r
+ metrics = GitBlit.self().getRepositoryDefaultMetrics(model, r);\r
metricsTotal = metrics.remove(0);\r
}\r
\r