# HG changeset patch
# User Ryan McElroy <rmcelroy@fb.com>
# Date 1473684676 25200
#      Mon Sep 12 05:51:16 2016 -0700
# Node ID 7b11e63488101d16a689f1ba0f46ea782298a5ef
# Parent  eb01d99111b6479abbf1a259bb323ed9ec851a8f
overlay: add support for upstream manifestlog transition

In mercurial, commit a22b3de3b65a changed some manifest lookups from using
manifest.read(sha) to using manifestlog[sha]. This change adds support for this
new kind of lookup. The old method is not removed to preserve compatibility.

diff --git a/hggit/overlay.py b/hggit/overlay.py
--- a/hggit/overlay.py
+++ b/hggit/overlay.py
@@ -314,6 +314,9 @@
             return manifest.manifestdict()
         return overlaymanifest(self.repo, sha)
 
+    def __getitem__(self, sha):
+        return self.read(sha)
+
 class overlaychangelog(overlayrevlog):
     def read(self, sha):
         if isinstance(sha, int):
@@ -334,6 +337,8 @@
 
         self.changelog = overlaychangelog(self, handler.repo.changelog)
         self.manifest = overlaymanifestlog(self, handler.repo.manifest)
+        # new as of mercurial 3.9+
+        self.manifestlog = self.manifest
 
         # for incoming -p
         self.root = handler.repo.root