[Bug 5793] New: Fix for #5675 made it impossible to share repositories containing external subrepositories

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Fri Feb 16 04:46:32 EST 2018


            Bug ID: 5793
           Summary: Fix for #5675 made it impossible to share repositories
                    containing external subrepositories
           Product: Mercurial
           Version: 4.4
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: bug
          Priority: wish
         Component: Mercurial
          Assignee: bugzilla at mercurial-scm.org
          Reporter: erik.deweerdt at luciad.com
                CC: mercurial-devel at mercurial-scm.org

The fix for https://bz.mercurial-scm.org/show_bug.cgi?id=5675, which shares
subrepositories instead of cloning them when the parent is also shared, made it
impossible to use the ShareExtension when the subrepository is remote.

Entries in .hgsub may specify an absolute URL, not necessarily on the same
server as the parent repository. Attempting to share such a repository results

  $ hg up --clean --rev 2017.1 
    sharing subrepo native/libecw from https://...
    abort: can only share local repositories (in subrepository "native/libecw")

Although the Subrepository documentation recommends mirroring repositories
instead of using absolute URLs, that is often not feasible and cumbersome in
production environments.

Sharing will also not work if the subrepository is specified as a relative path
within the parent and the base clone is at a revision that doesn't contain the
subrepository (the null revision for example).

While I do understand the reasoning behind the fix, I feel you should be able
to turn it off or specify a fallback behavior for non-shareable

You are receiving this mail because:
You are on the CC list for the bug.

More information about the Mercurial-devel mailing list