Comments
Patch
@@ -373,6 +373,7 @@
Make sure existing shares still works
$ hg log -GT "{node}: {desc}\n" -R ../nss-share
+ warning: source repository supports share-safe functionality. Reshare to upgrade.
@ f63db81e6dde1d9c78814167f77fb1fb49283f4f: added bar
|
o f3ba8b99bb6f897c87bbc1c07b75c6ddf43a4f77: added foo
@@ -558,6 +558,11 @@
# NOTE: presence of SHARESAFE_REQUIREMENT imply that store requirement
# is present. We never write SHARESAFE_REQUIREMENT for a repo if store
# is not present, refer checkrequirementscompat() for that
+ #
+ # However, if SHARESAFE_REQUIREMENT is not present, it means that the
+ # repository was shared the old way. We check the share source .hg/requires
+ # for SHARESAFE_REQUIREMENT to detect whether the current repository needs
+ # to be reshared
if requirementsmod.SHARESAFE_REQUIREMENT in requirements:
if shared:
# This is a shared repo
@@ -566,6 +571,15 @@
storevfs = vfsmod.vfs(hgvfs.join(b'store'))
requirements |= _readrequires(storevfs, False)
+ elif shared:
+ sourcerequires = _readrequires(sharedvfs, False)
+ if requirementsmod.SHARESAFE_REQUIREMENT in sourcerequires:
+ ui.warn(
+ _(
+ 'warning: source repository supports share-safe functionality.'
+ ' Reshare to upgrade.\n'
+ )
+ )
# The .hg/hgrc file may load extensions or contain config options
# that influence repository construction. Attempt to load it and