Mercurial > hg
view hgext/infinitepush/indexapi.py @ 49680:40e24d82b513
delta-find: make sure we only use newer full snapshot as candidate
The current code does not needs to protect against this, as there are no older
snapshot in the current cache. However as we are getting ready to reuse this
cache from one revision to another, we need the code to protect itself about
what's coming.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 06 Nov 2022 17:55:55 -0500 |
parents | 642e31cb55f0 |
children |
line wrap: on
line source
# Infinite push # # Copyright 2016 Facebook, Inc. # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. class indexapi: """Class that manages access to infinitepush index. This class is a context manager and all write operations (like deletebookmarks, addbookmark etc) should use `with` statement: with index: index.deletebookmarks(...) ... """ def __init__(self): """Initializes the metadata store connection.""" def close(self): """Cleans up the metadata store connection.""" def __enter__(self): return self def __exit__(self, exc_type, exc_val, exc_tb): pass def addbundle(self, bundleid, nodesctx): """Takes a bundleid and a list of node contexts for each node in that bundle and records that.""" raise NotImplementedError() def addbookmark(self, bookmark, node): """Takes a bookmark name and hash, and records mapping in the metadata store.""" raise NotImplementedError() def addmanybookmarks(self, bookmarks): """Takes a dict with mapping from bookmark to hash and records mapping in the metadata store.""" raise NotImplementedError() def deletebookmarks(self, patterns): """Accepts list of bookmarks and deletes them.""" raise NotImplementedError() def getbundle(self, node): """Returns the bundleid for the bundle that contains the given node.""" raise NotImplementedError() def getnode(self, bookmark): """Returns the node for the given bookmark. None if it doesn't exist.""" raise NotImplementedError() def getbookmarks(self, query): """Returns bookmarks that match the query""" raise NotImplementedError() def saveoptionaljsonmetadata(self, node, jsonmetadata): """Saves optional metadata for a given node""" raise NotImplementedError() class indexexception(Exception): pass