====== darcspatch plugin ====== ---- plugin ---- description: Apply darcs-style “raw” patches author : Todd Augsburger email : todd@rollerorgans.com type : admin lastupdate : 2007-08-07 compatible : depends : conflicts : similar : darcs tags : darcs, patch ---- This [[devel:Admin Plugins|Admin Plugin]] is a [[plugins|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.((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.)) 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.((It is also permissible to use relative paths instead of URLs to reference patches stored on your own server.)) {{ http://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 ===== * [[http://cobs.rollerorgans.com/plugins/darcspatch.zip|zip file]] You may use the [[plugin: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.((A "patchset" usually contains the raw patch in its first few lines: comments within "[...]" and changes within "{...}".)) *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 [[http://dev.splitbrain.org/browse/snapshots/|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.