156f27c921
Object versioning in swift is implemented by setting a flag on the container to tell swift to version all objects in the container. The flag is the ``X-Versions-Location`` header on the container, and its value is the container where the versions are stored. When data is ``PUT`` into a versioned container (a container with the versioning flag turned on), the existing data in the file is redirected to a new object and the data in the ``PUT`` request is saved as the data for the versioned object. The new object name (for the previous version) is ``<versions_container>/<object_name>/<timestamp>``, where the timestamp is generated by converting the ``Last-Modified`` header value of the current version to a unix timestamp. A ``GET`` to a versioned object will return the current version of the object without having to do any request redirects or metadata lookups. Change-Id: I4fcd723145e02bbb2ec1d3ad356713f5dea43b8b |
||
---|---|---|
.. | ||
__init__.py | ||
auditor.py | ||
expirer.py | ||
replicator.py | ||
server.py | ||
updater.py |