Skip to content

Issue513 outgoing label calculation preference

Created originally on Bitbucket by colin-hurley (Colin Hurley)

Was already merged in Bitbucket before import, marked as merged by the import user

  • Fix enable state initialization for file label incoming changeset preference

    On the performance preference page, the "Show incoming changeset information for files (very slow)" preference has no effect unless the "Show changeset information for files (slow)" preference is selected. The enable state for the preference was correctly updated as its dependency preference value was changed, but the initial state was always enabled. Now the preference checkbox is initially enabled only when the dependency preference is selected. Restoring default settings also updates the enable state now.

  • Fixes #513 (closed) Label description sometimes shows push needed even when it is not needed

    This changeset adds a performance preference to control how unpublished changesets are determined for the project resource label. Two stategies are supported - Draft changesets and Outgoing changesets.

    The "Draft changesets" option uses the current behavior of simply counting the number of local changesets that are in the draft phase. This is a local operation, so no interaction with remote repositories will occur.

    The "Outgoing changeets" option uses the 'hg outgoing' command to compare the local repository against its default remote repository to see how many changesets are in the local repository but not in the remote repository. This option guarantees an accurate count of changesets to be transferred but requires interaction with the remote repository to execute. This option uses the outgoing changeset cache to ensure that the outgoing changesets are calculated only once per repository, which prevents repeated executions (and repeated communications with remote repositories) for repositories that contain multiple projects.

    Pushing local changesets to a remote repository will normally shift their phase from draft to public, but pushing to a non-publishing repository will keep the changesets in draft phase. The option for "Draft changesets" is the default as it works well for most cases (except for non-publishing repositories, due to the changesets remaining in draft phase after pushing) and does not require network communications. When working with non-publishing repositories, the "Outgoing changesets" option will accurately determine the number of local changesets that are not in the default remote repository, although factors such as network latency could reduce performance.

Merge request reports