784 # i18n: "contentdivergent" is a keyword |
784 # i18n: "contentdivergent" is a keyword |
785 getargs(x, 0, 0, _("contentdivergent takes no arguments")) |
785 getargs(x, 0, 0, _("contentdivergent takes no arguments")) |
786 contentdivergent = obsmod.getrevs(repo, 'contentdivergent') |
786 contentdivergent = obsmod.getrevs(repo, 'contentdivergent') |
787 return subset & contentdivergent |
787 return subset & contentdivergent |
788 |
788 |
|
789 @predicate('extdata(source)', safe=False, weight=100) |
|
790 def extdata(repo, subset, x): |
|
791 """Changesets in the specified extdata source. (EXPERIMENTAL)""" |
|
792 # i18n: "extdata" is a keyword |
|
793 args = getargsdict(x, 'extdata', 'source') |
|
794 source = getstring(args.get('source'), |
|
795 # i18n: "extdata" is a keyword |
|
796 _('extdata takes at least 1 string argument')) |
|
797 data = scmutil.extdatasource(repo, source) |
|
798 return subset & baseset(data) |
|
799 |
789 @predicate('extinct()', safe=True) |
800 @predicate('extinct()', safe=True) |
790 def extinct(repo, subset, x): |
801 def extinct(repo, subset, x): |
791 """Obsolete changesets with obsolete descendants only. |
802 """Obsolete changesets with obsolete descendants only. |
792 """ |
803 """ |
793 # i18n: "extinct" is a keyword |
804 # i18n: "extinct" is a keyword |