darcspatch plugin

darcspatch plugin by Todd Augsburger
Apply darcs-style “raw” patches

Last updated on 2007-08-07. Provides Admin.
No compatibility info given!

Similar to darcs.

Tagged with darcs, patch.

This Admin Plugin is a plugin that apply darcs-style “raw” patches to an existing DokuWiki installation.

See darcs for information about darcs.

This plugin only applies “raw” patches (not darcs “patchsets”, “changelogs”, or “diffs”). For instance, raw patches may be found by browsing http://dev.splitbrain.org/darcsweb/darcsweb.cgi?r=dokuwiki;a=summary and selecting the “raw” link. You should only apply patches on release targets which the patch is expecting—there is no versioning within a raw patch. No files are updated unless the grouped changes can be successfully applied. If the application fails, the first error is shown.1) Multiple patches may exist in one file, and are applied independently. You can reverse a patch to essentially un-apply it.

Admin

Apply darcs-style raw patches by providing their URL.2)

cobs.rollerorgans.com_plugins_darcspatch.jpg

Configuration

Optional: Stored patch URLs may be set in Admin Configuration Settings: place each URL on a sepatate line.

Installation

You may use the plugin manager to install the plugin using the link above.

To install the plugin manually, download the source to your plugin folder, “lib/plugins” and extract its contents. That will create a new plugin folder, “lib/plugins/darcspatch”, and install the plugin. Note that there are required subdirectories and contents as well.

Revision History

  • 2007-08-07 — “Reverse” also applies multiple patches in reverse order.
  • 2007-08-06 — Added capability to “reverse” (un-apply) the patch.
  • 2007-08-05 — Released.

WARNING!

  • Repeadedly applying patches may have undesirable effects if the patch does not have sufficient info to recognize that it's been changed before—there is no “history” as there would be in a darcs “patchset”.
  • darcs “patchsets” do not work! If you need to use the info from a patchset, you'll probably have to manually create a “raw” patch which only has the final changes.3)
  • Most patches require a particular release as a target—make sure you are applying a patch designed for your specific release
  • This plugin only modifies existing files—it does not create or delete.
  • I use PHP5—I did not test this on PHP4.

Tips

I use this plugin to maintain my own customization of a current DokuWiki installation. I regularly install the latest snapshot, then apply my patches.

I also frequently test another person's modifications or patches to see whether their code works suitably for my needs. If so, I keep it in my saved list of URLs for later reapplication.

1) A very common error is that the patch cannot match a particular line. This is indicative of either the wrong release target, or an attempted reapplication of the patch on a file that has already been changed.
2) It is also permissible to use relative paths instead of URLs to reference patches stored on your own server.
3) A “patchset” usually contains the raw patch in its first few lines: comments within ”[…]” and changes within ”{…}”.
 
plugin/darcspatch.txt · Last modified: 2007/10/20 13:51 by ach
 
Imprint Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
WikiForumIRCBugsTranslate