Provided by: tcllib_1.20+dfsg-1_all bug


       textutil::patch - Application of uni-diff patches to directory trees


       package require Tcl  8.2

       package require textutil::patch  ?0.1?

       ::textutil::patch::apply basedirectory striplevel patch reportcmd

       {*}reportcmd apply filename

       {*}reportcmd fail filename hunk expected seen

       {*}reportcmd fail-already filename hunk



       This  package  provides  a  single  command  which  applies  a  patch  in  unified  format
       []    to    a
       directory tree.

       ::textutil::patch::apply basedirectory striplevel patch reportcmd
              Applies  the  patch  (text of the path, not file) to the files in the basedirectory
              using the specified striplevel.  The result of the command is the empty string.

              The striplevel argument is equivalent to option -p of the patch command.

              Errors are thrown when the patch does not parse, and nothing is done to  the  files
              in basedirectory.

              All  activities  during  the  application  of the patch, including the inability to
              apply a hunk are reported through the command prefix reportcmd instead. Files  with
              problems  are  left  unchanged.  Note however that this does not prevent changes to
              files with no problems, before and after the problematic file(s).

              The command prefix is called in 3 possible forms:

              {*}reportcmd apply filename
                     The caller begins operation on file fname, applying all hunks collected  for
                     said file.

              {*}reportcmd fail filename hunk expected seen
                     Application  of  hunk  number hunk of file filename has failed.  The command
                     expected to find the text expected, and saw seen instead.

              {*}reportcmd fail-already filename hunk
                     Application of hunk number hunk of file filename has  failed.   The  command
                     believes that this hunk has already been applied to the file.


       This  document,  and  the  package  it  describes, will undoubtedly contain bugs and other
       problems.   Please  report  such  in  the  category  textutil  of  the   Tcllib   Trackers
       [].  Please also report any ideas for enhancements you
       may have for either package and/or documentation.

       When proposing code changes, please provide unified diffs, i.e the output of diff -u.

       Note further that attachments are strongly preferred over inlined patches. Attachments can
       be  made  by going to the Edit form of the ticket immediately after its creation, and then
       using the left-most button in the secondary navigation bar.


       diff -ruN, diff, unified format, fossil, git, patch, unified format diff


       Text processing