James Moger
2011-10-23 fe326255202dcfac8b0991ca9d28e3cf4bcc4fe6
Per-repository setting to skip summary metrics
10 files modified
37 ■■■■ changed files
docs/00_index.mkd 2 ●●●●● patch | view | raw | blame | history
docs/04_releases.mkd 2 ●●●●● patch | view | raw | blame | history
src/com/gitblit/GitBlit.java 2 ●●●●● patch | view | raw | blame | history
src/com/gitblit/client/EditRepositoryDialog.java 7 ●●●●● patch | view | raw | blame | history
src/com/gitblit/client/RepositoriesTableModel.java 3 ●●●●● patch | view | raw | blame | history
src/com/gitblit/models/RepositoryModel.java 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/GitBlitWebApp.properties 4 ●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/EditRepositoryPage.html 9 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/EditRepositoryPage.java 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/SummaryPage.java 6 ●●●●● patch | view | raw | blame | history
docs/00_index.mkd
@@ -38,6 +38,8 @@
    **New:** *web.enableRpcAdministration = false*
- added: reusable JSON RPC client class
- added: Gitblit Manager (Java/Swing Application) for remote administration of a Gitblit server.
- added: per-repository setting to skip size calculation (faster repositories page loading)
- added: per-repository setting to skip summary metrics calculation (faster summary page loading)
- fixed: federation protocol timestamps.  dates are now serialized to the [iso8601](http://en.wikipedia.org/wiki/ISO_8601) standard.  
    **This breaks 0.6.0 federation clients/servers.**
- fixed: collision on rename for repositories and users
docs/04_releases.mkd
@@ -12,6 +12,8 @@
    **New:** *web.enableRpcAdministration = false*
- added: reusable JSON RPC client class
- added: Gitblit Manager (Java/Swing Application) for remote administration of a Gitblit server.
- added: per-repository setting to skip size calculation (faster repositories page loading)
- added: per-repository setting to skip summary metrics calculation (faster summary page loading)
- fixed: federation protocol timestamps.  dates are now serialized to the [iso8601](http://en.wikipedia.org/wiki/ISO_8601) standard.  
    **This breaks 0.6.0 federation clients/servers.**
- fixed: collision on rename for repositories and users
src/com/gitblit/GitBlit.java
@@ -594,6 +594,7 @@
            model.isFrozen = getConfig(config, "isFrozen", false);
            model.showReadme = getConfig(config, "showReadme", false);
            model.skipSizeCalculation = getConfig(config, "skipSizeCalculation", false);
            model.skipSummaryMetrics = getConfig(config, "skipSummaryMetrics", false);
            model.federationStrategy = FederationStrategy.fromName(getConfig(config,
                    "federationStrategy", null));
            model.federationSets = new ArrayList<String>(Arrays.asList(config.getStringList(
@@ -814,6 +815,7 @@
        config.setBoolean("gitblit", null, "isFrozen", repository.isFrozen);
        config.setBoolean("gitblit", null, "showReadme", repository.showReadme);
        config.setBoolean("gitblit", null, "skipSizeCalculation", repository.skipSizeCalculation);
        config.setBoolean("gitblit", null, "skipSummaryMetrics", repository.skipSummaryMetrics);
        config.setStringList("gitblit", null, "federationSets", repository.federationSets);
        config.setString("gitblit", null, "federationStrategy",
                repository.federationStrategy.name());
src/com/gitblit/client/EditRepositoryDialog.java
@@ -85,6 +85,8 @@
    private JCheckBox skipSizeCalculation;
    private JCheckBox skipSummaryMetrics;
    private JCheckBox isFrozen;
    private JComboBox accessRestriction;
@@ -150,6 +152,8 @@
                anRepository.showReadme);
        skipSizeCalculation = new JCheckBox(Translation.get("gb.skipSizeCalculationDescription"),
                anRepository.skipSizeCalculation);
        skipSummaryMetrics = new JCheckBox(Translation.get("gb.skipSummaryMetricsDescription"),
                anRepository.skipSummaryMetrics);
        isFrozen = new JCheckBox(Translation.get("gb.isFrozenDescription"), anRepository.isFrozen);
        accessRestriction = new JComboBox(AccessRestrictionType.values());
@@ -180,6 +184,8 @@
        fieldsPanel.add(newFieldPanel(Translation.get("gb.showReadme"), showReadme));
        fieldsPanel.add(newFieldPanel(Translation.get("gb.skipSizeCalculation"),
                skipSizeCalculation));
        fieldsPanel
                .add(newFieldPanel(Translation.get("gb.skipSummaryMetrics"), skipSummaryMetrics));
        fieldsPanel.add(newFieldPanel(Translation.get("gb.isFrozen"), isFrozen));
        usersPalette = new JPalette<String>();
@@ -327,6 +333,7 @@
        repository.showRemoteBranches = showRemoteBranches.isSelected();
        repository.showReadme = showReadme.isSelected();
        repository.skipSizeCalculation = skipSizeCalculation.isSelected();
        repository.skipSummaryMetrics = skipSummaryMetrics.isSelected();
        repository.isFrozen = isFrozen.isSelected();
        repository.accessRestriction = (AccessRestrictionType) accessRestriction.getSelectedItem();
src/com/gitblit/client/RepositoriesTableModel.java
@@ -117,8 +117,11 @@
        case Last_Change:
            return model.lastChange;
        case Size:
            if (model.hasCommits) {
            return model.size;
        }
            return "(empty)";
        }
        return null;
    }
}
src/com/gitblit/models/RepositoryModel.java
@@ -51,6 +51,7 @@
    public List<String> federationSets;
    public boolean isFederated;
    public boolean skipSizeCalculation;
    public boolean skipSummaryMetrics;
    public String frequency;
    public String origin;
    public String size;
src/com/gitblit/wicket/GitBlitWebApp.properties
@@ -160,4 +160,6 @@
gb.manage = manage
gb.lastLogin = last login
gb.skipSizeCalculation = skip size calculation
gb.skipSizeCalculationDescription = do not calculate the repository size
gb.skipSizeCalculationDescription = do not calculate the repository size (reduces page load time)
gb.skipSummaryMetrics = skip summary metrics
gb.skipSummaryMetricsDescription = do not calculate metrics on the summary page (reduces page load time)
src/com/gitblit/wicket/pages/EditRepositoryPage.html
@@ -19,14 +19,15 @@
                <tr><th><wicket:message key="gb.showRemoteBranches"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="showRemoteBranches" tabindex="7" /> &nbsp;<i><wicket:message key="gb.showRemoteBranchesDescription"></wicket:message></i></td></tr>
                <tr><th><wicket:message key="gb.showReadme"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="showReadme" tabindex="8" /> &nbsp;<i><wicket:message key="gb.showReadmeDescription"></wicket:message></i></td></tr>
                <tr><th><wicket:message key="gb.skipSizeCalculation"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="skipSizeCalculation" tabindex="9" /> &nbsp;<i><wicket:message key="gb.skipSizeCalculationDescription"></wicket:message></i></td></tr>
                <tr><th><wicket:message key="gb.isFrozen"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="isFrozen" tabindex="10" /> &nbsp;<i><wicket:message key="gb.isFrozenDescription"></wicket:message></i></td></tr>
                <tr><th><wicket:message key="gb.skipSummaryMetrics"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="skipSummaryMetrics" tabindex="10" /> &nbsp;<i><wicket:message key="gb.skipSummaryMetricsDescription"></wicket:message></i></td></tr>
                <tr><th><wicket:message key="gb.isFrozen"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="isFrozen" tabindex="11" /> &nbsp;<i><wicket:message key="gb.isFrozenDescription"></wicket:message></i></td></tr>
                <tr><td colspan="2"><hr></hr></td></tr>
                <tr><th><wicket:message key="gb.accessRestriction"></wicket:message></th><td class="edit"><select class="span6" wicket:id="accessRestriction" tabindex="11" /></td></tr>
                <tr><th><wicket:message key="gb.accessRestriction"></wicket:message></th><td class="edit"><select class="span6" wicket:id="accessRestriction" tabindex="12" /></td></tr>
                <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>
                <tr><td colspan="2"><hr></hr></td></tr>        
                <tr><th><wicket:message key="gb.federationStrategy"></wicket:message></th><td class="edit"><select class="span6" wicket:id="federationStrategy" tabindex="12" /></td></tr>
                <tr><th><wicket:message key="gb.federationStrategy"></wicket:message></th><td class="edit"><select class="span6" wicket:id="federationStrategy" tabindex="13" /></td></tr>
                <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>
                <tr><th></th><td class="editButton"><input class="btn" type="submit" value="Cancel" wicket:message="value:gb.cancel" wicket:id="cancel" tabindex="13" /> &nbsp; <input class="btn primary" type="submit" value="Save" wicket:message="value:gb.save" wicket:id="save" tabindex="14" /> </td></tr>
                <tr><th></th><td class="editButton"><input class="btn" type="submit" value="Cancel" wicket:message="value:gb.cancel" wicket:id="cancel" tabindex="14" /> &nbsp; <input class="btn primary" type="submit" value="Save" wicket:message="value:gb.save" wicket:id="save" tabindex="15" /> </td></tr>
            </tbody>
        </table>
    </form>    
src/com/gitblit/wicket/pages/EditRepositoryPage.java
@@ -213,6 +213,7 @@
        form.add(new CheckBox("showRemoteBranches"));
        form.add(new CheckBox("showReadme"));
        form.add(new CheckBox("skipSizeCalculation"));
        form.add(new CheckBox("skipSummaryMetrics"));
        form.add(usersPalette);
        form.add(federationSetsPalette);
src/com/gitblit/wicket/pages/SummaryPage.java
@@ -43,6 +43,7 @@
import com.gitblit.Keys;
import com.gitblit.models.Metric;
import com.gitblit.models.PathModel;
import com.gitblit.models.RepositoryModel;
import com.gitblit.utils.JGitUtils;
import com.gitblit.utils.MarkdownUtils;
import com.gitblit.utils.StringUtils;
@@ -64,10 +65,11 @@
        int numberRefs = GitBlit.getInteger(Keys.web.summaryRefsCount, 5);
        Repository r = getRepository();
        RepositoryModel model = getRepositoryModel();
        List<Metric> metrics = null;
        Metric metricsTotal = null;
        if (GitBlit.getBoolean(Keys.web.generateActivityGraph, true)) {
            metrics = GitBlit.self().getRepositoryDefaultMetrics(getRepositoryModel(), r);
        if (!model.skipSummaryMetrics && GitBlit.getBoolean(Keys.web.generateActivityGraph, true)) {
            metrics = GitBlit.self().getRepositoryDefaultMetrics(model, r);
            metricsTotal = metrics.remove(0);
        }