James Moger
2011-10-21 3d293a9d1194bd98beb624f1bb0b047cb4467a93
Log calculation time of repository sizes. (issue-27)

Also added a per-repository skip calculation flag.
6 files modified
41 ■■■■ changed files
src/com/gitblit/GitBlit.java 20 ●●●● patch | view | raw | blame | history
src/com/gitblit/client/EditRepositoryDialog.java 6 ●●●●● 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/GitBlit.java
@@ -470,6 +470,20 @@
                repositories.add(model);
            }
        }
        if (getBoolean(Keys.web.showRepositorySizes, true)) {
            int repoCount = 0;
            long startTime = System.currentTimeMillis();
            ByteFormat byteFormat = new ByteFormat();
            for (RepositoryModel model : repositories) {
                if (!model.skipSizeCalculation) {
                    repoCount++;
                    model.size = byteFormat.format(calculateSize(model));
                }
            }
            long duration = System.currentTimeMillis() - startTime;
            logger.info(MessageFormat.format("{0} repository sizes calculated in {1} msecs",
                    repoCount, duration));
        }
        return repositories;
    }
@@ -523,6 +537,7 @@
            model.showRemoteBranches = getConfig(config, "showRemoteBranches", false);
            model.isFrozen = getConfig(config, "isFrozen", false);
            model.showReadme = getConfig(config, "showReadme", false);
            model.skipSizeCalculation = getConfig(config, "skipSizeCalculation", false);
            model.federationStrategy = FederationStrategy.fromName(getConfig(config,
                    "federationStrategy", null));
            model.federationSets = new ArrayList<String>(Arrays.asList(config.getStringList(
@@ -531,10 +546,6 @@
            model.origin = config.getString("remote", "origin", "url");
        }
        r.close();
        if (getBoolean(Keys.web.showRepositorySizes, true)) {
            ByteFormat byteFormat = new ByteFormat();
            model.size = byteFormat.format(calculateSize(model));
        }
        return model;
    }
@@ -707,6 +718,7 @@
        config.setBoolean("gitblit", null, "showRemoteBranches", repository.showRemoteBranches);
        config.setBoolean("gitblit", null, "isFrozen", repository.isFrozen);
        config.setBoolean("gitblit", null, "showReadme", repository.showReadme);
        config.setBoolean("gitblit", null, "skipSizeCalculation", repository.skipSizeCalculation);
        config.setStringList("gitblit", null, "federationSets", repository.federationSets);
        config.setString("gitblit", null, "federationStrategy",
                repository.federationStrategy.name());
src/com/gitblit/client/EditRepositoryDialog.java
@@ -81,6 +81,8 @@
    private JCheckBox showReadme;
    private JCheckBox skipSizeCalculation;
    private JCheckBox isFrozen;
    private JComboBox accessRestriction;
@@ -143,6 +145,8 @@
                anRepository.showRemoteBranches);
        showReadme = new JCheckBox(Translation.get("gb.showReadmeDescription"),
                anRepository.showReadme);
        skipSizeCalculation = new JCheckBox(Translation.get("gb.skipSizeCalculationDescription"),
                anRepository.skipSizeCalculation);
        isFrozen = new JCheckBox(Translation.get("gb.isFrozenDescription"), anRepository.isFrozen);
        accessRestriction = new JComboBox(AccessRestrictionType.values());
@@ -171,6 +175,7 @@
        fieldsPanel
                .add(newFieldPanel(Translation.get("gb.showRemoteBranches"), showRemoteBranches));
        fieldsPanel.add(newFieldPanel(Translation.get("gb.showReadme"), showReadme));
        fieldsPanel.add(newFieldPanel(Translation.get("gb.skipSizeCalculation"), skipSizeCalculation));
        fieldsPanel.add(newFieldPanel(Translation.get("gb.isFrozen"), isFrozen));
        usersPalette = new JPalette<String>();
@@ -307,6 +312,7 @@
        repository.useDocs = useDocs.isSelected();
        repository.showRemoteBranches = showRemoteBranches.isSelected();
        repository.showReadme = showReadme.isSelected();
        repository.skipSizeCalculation = skipSizeCalculation.isSelected();
        repository.isFrozen = isFrozen.isSelected();
        repository.accessRestriction = (AccessRestrictionType) accessRestriction.getSelectedItem();
src/com/gitblit/models/RepositoryModel.java
@@ -50,6 +50,7 @@
    public FederationStrategy federationStrategy;
    public List<String> federationSets;
    public boolean isFederated;
    public boolean skipSizeCalculation;
    public String frequency;
    public String origin;
    public String size;
src/com/gitblit/wicket/GitBlitWebApp.properties
@@ -158,4 +158,6 @@
gb.general = general
gb.settings = settings
gb.manage = manage
gb.lastLogin = last login
gb.lastLogin = last login
gb.skipSizeCalculation = skip size calculation
gb.skipSizeCalculationDescription = do not calculate the repository size
src/com/gitblit/wicket/pages/EditRepositoryPage.html
@@ -18,14 +18,15 @@
                <tr><th><wicket:message key="gb.enableDocs"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="useDocs" tabindex="6" /> &nbsp;<i><wicket:message key="gb.useDocsDescription"></wicket:message></i></td></tr>
                <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.isFrozen"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="isFrozen" tabindex="9" /> &nbsp;<i><wicket:message key="gb.isFrozenDescription"></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><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="10" /></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 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="11" /></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 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="12" /> &nbsp; <input class="btn primary" type="submit" value="Save" wicket:message="value:gb.save" wicket:id="save" tabindex="13" /> </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>
            </tbody>
        </table>
    </form>    
src/com/gitblit/wicket/pages/EditRepositoryPage.java
@@ -212,6 +212,7 @@
        form.add(new CheckBox("useDocs"));
        form.add(new CheckBox("showRemoteBranches"));
        form.add(new CheckBox("showReadme"));
        form.add(new CheckBox("skipSizeCalculation"));
        form.add(usersPalette);
        form.add(federationSetsPalette);