Bug#349764: vim: Does not autodetect svk patches

Paul Brook paul at nowt.org
Wed Jan 25 03:03:32 UTC 2006


Package: vim
Version: 1:6.4-006+2
Severity: minor
Tags: patch


The SVK version control system generates patches in a slightly different
format to CVS and SVN.  Vim does not autodetect these as patch files.

A typical svk generated patch looks something like:

=== arm-dis.c
==================================================================
--- arm-dis.c	(revision 1826)
+++ arm-dis.c	(local)

The attached patch adds a pattern for this to syntax.vim

Paul

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.15-w64
Locale: LANG=en_GB, LC_CTYPE=en_GB (charmap=ISO-8859-1)

Versions of packages vim depends on:
ii  libc6                        2.3.5-12    GNU C Library: Shared libraries an
ii  libgpmg1                     1.19.6-21   General Purpose Mouse - shared lib
ii  libncurses5                  5.5-1       Shared libraries for terminal hand
ii  vim-common                   1:6.4-006+2 Vi IMproved - Common files
ii  vim-runtime                  1:6.4-006+2 Vi IMproved - Runtime files

vim recommends no packages.

-- no debconf information
-------------- next part --------------
--- vim/runtime/scripts.vim.old	2006-01-25 02:46:10.000000000 +0000
+++ vim/runtime/scripts.vim	2006-01-25 02:50:16.000000000 +0000
@@ -180,10 +180,12 @@
     " - "*** " in first line and "--- " in second line (context diff).
     " - "# It was generated by makepatch " in the second line (makepatch diff).
     " - "Index: <filename>" in the first line (CVS file)
+    " - "=== ", line of "=", "---", "+++ " (SVK diff)
   elseif s:line1 =~ '^\(diff\>\|Only in \|\d\+\(,\d\+\)\=[cda]\d\+\>\|# It was generated by makepatch \|Index:\s\+\f\+$\|===== \f\+ \d\+\.\d\+ vs edited\|==== //\f\+#\d\+\)'
 	\ || (s:line1 =~ '^--- ' && s:line2 =~ '^+++ ')
 	\ || (s:line1 =~ '^\* looking for ' && s:line2 =~ '^\* comparing to ')
 	\ || (s:line1 =~ '^\*\*\* ' && s:line2 =~ '^--- ')
+	\ || (s:line1 =~ '^=== ' && s:line2 =~ '^=\{66\}' && s:line3 =~ '^--- ' && s:line4 =~ '^+++')
     set ft=diff
 
     " PostScript Files (must have %!PS as the first line, like a2ps output)


More information about the pkg-vim-maintainers mailing list