Loading ...
Sorry, an error occurred while loading the content.

Re: [patch] Process Interaction support for Vim (unstable version)

Expand Messages
  • Markus Heidelberg
    ... The words not practical and readily be avoided from someone, who uses an ftp client, patch and rsync just to update a single software package? You can
    Message 1 of 19 , Mar 3, 2009
    • 0 Attachment
      Tony Mechelynck, 03.03.2009:
      > On 02/03/09 13:48, Milan Vancura wrote:
      > > But even people using ftp+rsync method can achieve the same just using
      > > different method (in a more complicated way, my opinion, but this is a
      > > different story and not my decision) as everyone still gets a patch through the
      > > vim_dev mailing list.
      >
      > Any such unofficial patch to runtime files will have to be reapplied
      > after each and every rsync run. Possible, but not practical, and it
      > could readily be avoided by avoiding placing any unofficial runtime
      > files or runtime file changes in the $VIMRUNTIME tree.

      The words "not practical" and "readily be avoided" from someone, who
      uses an ftp client, patch and rsync just to update a single software
      package? You can also use telnet to fetch emails.

      Let's recapitulate the normal solution and your broken solution for a
      last time, without considering git, but only the conventional way with
      ftp, patch and rsync. I hate writing so long mails and meanwhile I doubt
      you understand it after reading, but I will try anyway.
      For unofficial patches, not for plugins:

      Normal solution:

      - patches contain changes to the runtime files directly in the patch
      - so you have 1 patch file and nothing else

      - apply the patch with the patch tool

      - rsync would overwrite the changes a patch introduces
      - so reverse the patch
      - then update the official runtime files with rsync
      - and finally reapply the patch

      - convenient? not really, but you chose so with the ftp/patch/rsync
      workflow
      - automatable? yes, can be achieved easily with a script


      Broken solution:

      - patches only contain changes to the source files directly in the
      patch. Changes to the runtime files are done in separate files,
      preferably as a new file (e.g. for new documentation). But if it is
      not possible to use a new file, but necessary to adjust existing
      files, you copy and modify it for your patch.
      - so you have 1 patch file for the sources, some new files and some
      modified files

      - apply the patch with the patch tool
      - copy the new files into the right subdirectory of ~/.vim/
      - copy the modified files into the right subdirectory of ~/.vim/
      Since the files in this directory are loaded before the ones in
      $VIMRUNTIME, Vim uses the modified files instead of the unmodified
      without the changes

      - rsync wouldn't overwrite the changes a patch introduces, but if files
      are updated, which the patch has copied and modified, Vim will still
      use them. They contain the changes of the patch, but not the new
      changes from rsync
      - so update the official runtime files with rsync
      - somehow integrate the updates in your copied and modified files
      - maybe by creating a temporary patch between the old runtime files
      before the rsync updates and your modified runtime files
      - then copy the files you modified and were updated by rsync to ~/.vim/
      - finally reapply your temporary patch to the new copied files in ~/.vim/

      - convenient? not at all, even the first integration requires several
      steps to use the unofficial patch and is more complicated, because you
      have to deal with more than just 1 single patch file
      - automatable? yes, but requires more steps


      Conslusion:

      With the ftp/patch/rsync workflow, you have to care about the runtime
      files after the first integration of an unofficial patch in either ways.
      You have to use reapply tricks with patch to not lose changes, either in
      the official runtime files or in the runtime files changed by a patch.

      > Wasn't I clear?

      Yes, you was clear that you didn't get it and refused to learn.

      Markus


      --~--~---------~--~----~------------~-------~--~----~
      You received this message from the "vim_dev" maillist.
      For more information, visit http://www.vim.org/maillist.php
      -~----------~----~----~----~------~----~------~--~---
    Your message has been successfully submitted and would be delivered to recipients shortly.