mercurial/bundle2.py
changeset 26685 ea390d889d3a
parent 26587 56b2bcea2529
child 26698 c94cdeeb586a
--- a/mercurial/bundle2.py	Thu Oct 15 12:45:34 2015 +0100
+++ b/mercurial/bundle2.py	Thu Oct 15 03:29:00 2015 +0100
@@ -1481,6 +1481,11 @@
     if op.ui.config('experimental', 'obsmarkers-exchange-debug', False):
         op.ui.write(('obsmarker-exchange: %i bytes received\n')
                     % len(markerdata))
+    # The mergemarkers call will crash if marker creation is not enabled.
+    # we want to avoid this if the part is advisory.
+    if not inpart.mandatory and op.repo.obsstore.readonly:
+        op.repo.ui.debug('ignoring obsolescence markers, feature not enabled')
+        return
     new = op.repo.obsstore.mergemarkers(tr, markerdata)
     if new:
         op.repo.ui.status(_('%i new obsolescence markers\n') % new)