Skip to main content

Introduction

raptus.mercurialstorage depends on Products.ExternalStorage 0.7 which has some flaws and needs to be patched in order to work correctly. The patch may be applied by using the following part in your buildout:

[patch_es_storage]
recipe = iw.recipe.cmd:py
on_install = true
on_update = true
cmds =
    >>> import os
    >>> patch = os.path.join("""${buildout:directory}""".strip(), 'eggs/raptus.mercurialstorage-0.4-py2.4.egg/raptus/mercurialstorage', 'es.patch')
    >>> file = os.path.join("""${buildout:directory}""".strip(), 'eggs/Products.ExternalStorage-0.7-py2.4.egg/Products/ExternalStorage/ExternalStorage.py')
    >>> if os.path.exists(file):
    >>>     os.system('patch -N %s %s' % (file, patch))

You also need mercurial working copies at the root of your storages so if you have a field on which you use an ExternalMercurialStorage with a prefix of foo make sure a folder with the name foo exists in your instances var folder and is initialized using ‘hg init’. If you are using buildout, there are two var folders, one in your buildout’s root and one at parts > instance, the aforementioned folder has to be created in the latter one.

All the mercurial commits are handled asynchronous using a queue, as a side effect the files saved to mercurial storage are not immediately visible in plone, in this case a attribute called ‘asynch’ is set on the content instance, which may be used to display an information message to the user. The mentioned queue is processed by a view named ‘processMercurialActionQueue’ which has to be called regularly by a user having the ‘Manage portal’ permission. It is suggested to use zope clock server to call this view about ever minute or more, add the following configuration to your instance part’s zope-conf-additional variable:

<clock-server>
  method [PATH_TO_YOUR_PLONE_SITE]@@processMercurialActionQueue
  period 60
  user [MANAGER_USERID]
  password [MANAGER_PWD]
  host localhost
</clock-server>

raptus.mercurialstorage logs to a different log file which is found in your log folder under the name mercurial.log.

Changelog

0.4 - (2010-04-12)

  • fixed README.txt (adjusted patch file location)

  • fixed ReST format (README)

  • bugfix in recursiveDelete method which raised an exception in some cases and caused the action queue to hang

0.3 - (2010-02-19)

  • bugfix in datamanager (no longer logs empty lines)

  • bugfix in queue (commit transaction after changing asynch flag)

0.2 - (2010-02-19)

  • improved queue to compare appended action with previous ones and skipping them if needed

  • bugfix in datamanager (repo not found under linux)

0.1 - (2009-10-30)

  • Initial release

Metadata

Release files for raptus.mercurialstorage 0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for raptus.mercurialstorage 0.4
File Size Uploaded
raptus.mercurialstorage-0.4.tar.gz 11.7 kB Details

Release files / raptus.mercurialstorage-0.4.tar.gz

Download URL raptus.mercurialstorage-0.4.tar.gz
Size 11.7 kB
Tags Source
SHA-256 checksum
How to use checksums
893feb975806de9f22115ae2312c607643419c98ac81b050e42d9c50dadcf8cc
BLAKE2b-256 checksum
How to use checksums
d3a8de2a98a988473c761b9a4b9049bcfa6bba3a7988edeeb23a7eda80eea72c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page