[Python-modules-commits] [python-patch] 01/07: initial import from tag 1.16.0 of https://github.com/techtonik/python-patch into upstream branch

Paolo Greppi paolog-guest at moszumanska.debian.org
Tue Nov 29 07:11:04 UTC 2016


This is an automated email from the git hooks/post-receive script.

paolog-guest pushed a commit to branch master
in repository python-patch.

commit c7ed1e26d7dd02d725bdea622948f8e4a601df29
Author: Paolo Greppi <paolo.greppi at libpf.com>
Date:   Wed Nov 23 22:10:56 2016 +0100

    initial import from tag 1.16.0 of https://github.com/techtonik/python-patch into upstream branch
---
 .travis.yml                                        |   17 +
 README.md                                          |   54 +
 doc/ADOPTIONS.md                                   |    9 +
 doc/CHANGES.md                                     |  126 ++
 doc/CREDITS                                        |   10 +
 doc/HISTORY                                        |   16 +
 doc/LICENSE                                        |   22 +
 doc/RELEASING                                      |   13 +
 doc/evolution-notes.txt                            |   33 +
 doc/unified_diff_svn.png                           |  Bin 0 -> 98041 bytes
 doc/unified_diff_svn.svg                           | 1461 ++++++++++++++++++++
 other/pack.mainpy.tpl                              |    4 +
 other/pack.py                                      |   84 ++
 other/pack.setuppy.tpl                             |   18 +
 patch.py                                           | 1203 ++++++++++++++++
 tests/01uni_multi/01uni_multi.patch                |  180 +++
 tests/01uni_multi/[result]/conf.cpp                |  121 ++
 tests/01uni_multi/[result]/conf.h                  |   39 +
 tests/01uni_multi/[result]/manifest.xml            |   20 +
 tests/01uni_multi/[result]/updatedlg.cpp           |  742 ++++++++++
 tests/01uni_multi/[result]/updatedlg.h             |   74 +
 tests/01uni_multi/conf.cpp                         |  110 ++
 tests/01uni_multi/conf.h                           |   38 +
 tests/01uni_multi/manifest.xml                     |   19 +
 tests/01uni_multi/updatedlg.cpp                    |  726 ++++++++++
 tests/01uni_multi/updatedlg.h                      |   73 +
 tests/02uni_newline.from                           |    4 +
 tests/02uni_newline.patch                          |    8 +
 tests/02uni_newline.to                             |    3 +
 tests/03trail_fname.from                           |    8 +
 tests/03trail_fname.patch                          |   12 +
 tests/03trail_fname.to                             |    9 +
 tests/04can_patch.from                             |   40 +
 tests/04can_patch.patch                            |   11 +
 tests/04can_patch.to                               |   38 +
 tests/05hg_change.from                             |  295 ++++
 tests/05hg_change.patch                            |   14 +
 tests/05hg_change.to                               |  299 ++++
 tests/06nested/.hgignore                           |   11 +
 tests/06nested/06nested.patch                      |  112 ++
 tests/06nested/[result]/.hgignore                  |   12 +
 .../06nested/[result]/examples/font_comparison.py  |   82 ++
 tests/06nested/[result]/experimental/console.py    |  141 ++
 tests/06nested/[result]/pyglet/font/win32.py       |  273 ++++
 tests/06nested/[result]/tests/app/EVENT_LOOP.py    |   81 ++
 tests/06nested/[result]/tests/font/SYSTEM.py       |   32 +
 tests/06nested/examples/font_comparison.py         |   81 ++
 tests/06nested/experimental/console.py             |  141 ++
 tests/06nested/pyglet/font/win32.py                |  274 ++++
 tests/06nested/tests/app/EVENT_LOOP.py             |   81 ++
 tests/06nested/tests/font/SYSTEM.py                |   32 +
 tests/07google_code_wiki.from                      |   87 ++
 tests/07google_code_wiki.patch                     |   41 +
 tests/07google_code_wiki.to                        |   91 ++
 tests/Descript.ion                                 |    7 +
 tests/data/autofix/absolute-path.diff              |   52 +
 tests/data/autofix/parent-path.diff                |   13 +
 .../data/autofix/stripped-trailing-whitespace.diff |   62 +
 tests/data/exotic/diff.py-python25.diff            |   22 +
 tests/data/exotic/dpatch.diff                      |   20 +
 tests/data/extended/git-added-new-empty-file.diff  |    3 +
 tests/data/extended/svn-added-new-empty-file.diff  |    2 +
 tests/data/failing/context-format.diff             |   24 +
 tests/data/failing/missing-hunk-line.diff          |   27 +
 .../failing/non-empty-patch-for-empty-file.diff    |   14 +
 tests/data/failing/not-a-patch.log                 |    9 +
 tests/data/failing/upload.py                       |    0
 tests/data/git-changed-2-files.diff                |   38 +
 tests/data/git-changed-file.diff                   |   38 +
 tests/data/git-dash-in-filename.diff               |   21 +
 tests/data/hg-added-file.diff                      |   59 +
 tests/data/hg-changed-2-files.diff                 |   22 +
 tests/data/hg-exported.diff                        |   59 +
 tests/data/svn-added-new-file-withcontent.diff     |    7 +
 tests/data/svn-changed-2-files.diff                |   86 ++
 tests/data/svn-modified-empty-file.diff            |    7 +
 tests/recoverage.bat                               |    4 +
 tests/run_tests.py                                 |  448 ++++++
 78 files changed, 8569 insertions(+)

diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..71b8bb6
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,17 @@
+language: python
+python:
+  - "2.6"
+  - "2.7"
+  - "3.3"
+  - "3.4"
+  - "3.5"
+  - "3.5-dev" # 3.5 development branch
+  - "nightly" # currently points to 3.6-dev
+
+install:
+  - pip install coverage
+
+script:
+  # run tests with coverage
+  - coverage run tests/run_tests.py
+  - coverage report -m
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..da1f0c2
--- /dev/null
+++ b/README.md
@@ -0,0 +1,54 @@
+Library to parse and apply unified diffs.
+
+[![Build Status](https://img.shields.io/travis/techtonik/python-patch.svg)](https://travis-ci.org/techtonik/python-patch)
+
+### Features
+
+ * Python 2 and 3 compatible
+ * Automatic correction of
+   * Linefeeds according to patched file
+   * Diffs broken by stripping trailing whitespace
+   * a/ and b/ prefixes
+ * Single file, which is a command line tool and a library
+ * No dependencies outside Python stdlib
+ * Patch format detection (SVN, HG, GIT)
+ * Nice diffstat histogram
+ * Linux / Windows / OS X
+ * Test coverage
+
+Things that don't work out of the box:
+
+ * File renaming, creation and removal
+ * Directory tree operations
+ * Version control specific properties
+ * Non-unified diff formats
+
+
+### Usage
+
+Download **patch.py** and run it with Python. It is a self-contained
+module without external dependencies.
+
+    patch.py diff.patch
+
+You can also run the .zip file.
+    
+    python patch-1.16.zip diff.patch
+
+### Installation
+
+**patch.py** is self sufficient. You can copy it into your repository
+and use it from here. This setup will always be repeatable. But if
+you need to add `patch` module as a dependency, make sure to use strict
+specifiers to avoid hitting an API break when version 2 is released:
+
+    pip install "patch==1.*"
+
+
+### Other stuff
+
+* [CHANGES](doc/CHANGES.md)
+* [LICENSE](doc/LICENSE)
+* [CREDITS](doc/CREDITS)
+
+* [test coverage](http://techtonik.github.io/python-patch/tests/coverage/)
diff --git a/doc/ADOPTIONS.md b/doc/ADOPTIONS.md
new file mode 100644
index 0000000..bbc4ea0
--- /dev/null
+++ b/doc/ADOPTIONS.md
@@ -0,0 +1,9 @@
+| Project | Description | patch.py version | Reviewed |
+|:--------|:------------|:-----------------|:---------|
+| [conda-recipes](https://github.com/conda/conda-recipes/tree/master/python-patch)| conda package | [1.12.11](https://github.com/conda/conda-recipes/blob/master/python-patch/patch.py) | 2016-01-17 | 
+| [collective.recipe.patch](https://pypi.python.org/pypi/collective.recipe.patch/0.2.2) | buildout recipe for patching eggs | [8.06-1+](https://github.com/garbas/collective.recipe.patch/blob/master/collective/recipe/patch/patch.py) | 2014-01-17 |
+| [Linux Kernel Backports](https://backports.wiki.kernel.org/index.php/Documentation) | backporting Linux upstream device drivers for usage on older kernels | [1.12.12dev+](https://git.kernel.org/cgit/linux/kernel/git/backports/backports.git/tree/lib/patch.py) | 2014-01-17 |
+| [LuaPatch](http://lua-users.org/wiki/LuaPatch) | rewrite of patch.py for Lua by David Manura | 8.06-1| 2014-01-17 |
+| [OpenHatch](https://openhatch.org/) | help wannabe open source developers find interesting projects | [10.04-2+](https://github.com/openhatch/oh-mainline/blob/master/vendor/packages/python-patch/patch.py) | 2014-01-17 |
+| [nose](https://nose.readthedocs.org/en/latest/) | `nose` extends unittest to make testing easier | [10.04-2+](https://github.com/nose-devs/nose/blob/master/patch.py) | 2014-01-17 |
+| [pypatch](https://pypi.python.org/pypi/pypatch/0.5.1) | automatically patch installed python modules | 1.12.11 | 2014-01-17 |
diff --git a/doc/CHANGES.md b/doc/CHANGES.md
new file mode 100644
index 0000000..418ed24
--- /dev/null
+++ b/doc/CHANGES.md
@@ -0,0 +1,126 @@
+##### 1.16
+
+  - Python 3 support, thanks to Yen Chi Hsuan (@yan12125)
+    (pull request #36)
+
+##### 1.15
+
+  - Project moved to GitHub
+  - patch-1.15.zip archive is now executable
+  - improved Git patch detection thanks to @mspncp (#32)
+  - tests/data contains database of all possible patches
+  - tests suite scan now processes tests/data automatically
+  - API changes:
+    + setdebug() initializes logging and enables debug info
+
+##### 1.14.2
+
+   - --revert option to apply patches in reverse order (unpatch)
+   - support for broken patches generated by online Google Code editor
+   - API changes:
+     + PatchSet and Patch objects are now iterable
+     + new PatchSet.findfile() contains logic detecting filename to patch
+     + PatchSet.revert()
+   - make directory based tests easier to create and run manually
+   - fix xnormpath with Windows paths on Linux
+     (issue #24, found by Philippe Ombredanne)
+
+##### 1.13
+
+   - diffstat output now also shows size delta in bytes
+   - added --directory (-d) option to specify root when applying patches
+   - hunk headers produced by `diff -p` option are now parsed and accessible
+     (issue #22, found by Philippe Ombredanne)
+   - API changes:
+     + Hunk.desc field to access hunk headers content
+     + PatchSet.apply() gets `root` keyword argument for the working dir
+       when applying patches (issue #7)
+   - improve error message for missing files
+   - improve docs (fix issue #5)
+
+##### 1.12.11  Major API Break
+
+   - patch.py can read patches from stdin
+   - patch.py can show nice histogram with --diffstat option
+   - added detection of SVN, GIT and HG patch types, unrecognized
+     patches marked as PLAIN
+   - added error reporting for parsing functions and helpers (now they
+     return False if parsing failed) - make sure you handle this correctly
+   - added normalization to filenames to protect against patching files
+     using absolute paths or files in parent directories
+   - test run patch.py on all patches submitted to Python bug tracker, which
+     resulted in improved parsing and error handling for some corner cases
+   - improved logging
+   - API changes
+     * fromfile(), fromstring() and fromurl() now return False on errors
+     * previous Patch is renamed to PatchSet, new Patch is single file entry
+     * Patch.header is now a list of strings
+     * PatchSet.parse() now returns True if parsing completed without errors
+     + PatchSet.__len__()
+     + PatchSet.diffstat()
+     + PatchSet.type and Patch.type
+     + PatchSet.errors and 
+     + xisabs() cross-platform version of `os.path.isabs()`
+     + xnormpath() forward slashed version of `os.path.normpath()`
+     + xstrip() to strip absolute path prefixes
+
+##### 11.01
+
+   - patch.py can read patches from web
+   - patch.py returns -1 if there were errors during patching
+   - store patch headers (necessary for future DIFF/SVN/HG/GIT detection)
+   - report about extra bytes at the end after patch is parsed
+   - API changes
+     + fromurl()
+     * Patch.apply() now returns True on success
+
+##### 10.11
+
+   - fixed fromstring() failure due to invalid StringIO import (issue #9)
+     (thanks john.stumpo for reporting)
+   - added --verbose and --quiet options
+   - improved message logging
+   - change "successfully patched..." message to INFO instead of WARN
+     (thanks Alex Stewart for reporting and patch)
+   - skip __main__ imports when used as a library (patch by Alex Stewart)
+   - API changes
+      * renamed class HunkInfo to Hunk
+      + Patch.type placeholder (no detection yet - parser is not ready)
+      + constants for patch types DIFF/PLAIN, HG/MERCURIAL, SVN/SUBVERSION
+      + Patch.header for saving headers which can be used later to extract
+        additional meta information such as commit message
+   - internal: improving parser speed by allowing blocks fetch lines on
+               demand
+   - test suite improvements
+
+##### 10.04
+
+   - renamed debug option to --debug
+   - API changes
+     * method names are now underscored for consistency with difflib
+     + addded Patch.can_patch(filename) to test if source file is in list
+       of source filenames and can be patched
+     * use designated logger "python_patch" instead of default
+
+##### 9.08-2
+
+   - compatibility fix for Python 2.4
+
+##### 9.08-1
+
+   - fixed issue #2 - remove trailing whitespaces from filename
+     (thanks James from Twisted Fish)
+   - API changes
+     + added Patch and HunkInfo classes
+     * moved utility methods into Patch
+     + build Patch object by specifying stream to constructor
+       or use top level functions fromfile() and fromstring()
+   - added test suite
+
+##### 8.06-2
+
+   - compatibility fix for Python 2.4
+
+##### 8.06-1
+
+   - initial release
diff --git a/doc/CREDITS b/doc/CREDITS
new file mode 100644
index 0000000..16cb9d7
--- /dev/null
+++ b/doc/CREDITS
@@ -0,0 +1,10 @@
+I'd like to thank the following people who contributed to
+development of this library:
+
+
+Alex Stewart
+Wladimir J. van der Laan (laanwj)
+azasypkin
+Philippe Ombredanne
+mspncp
+Yen Chi Hsuan (@yan12125)
diff --git a/doc/HISTORY b/doc/HISTORY
new file mode 100644
index 0000000..636a26d
--- /dev/null
+++ b/doc/HISTORY
@@ -0,0 +1,16 @@
+In 2008 there was no reliable Windows tool to apply patches,
+and there was no cross-platform solution that could be safely
+run by web server process.
+
+(UNIX *patch* utility)[http://www.gnu.org/software/patch/] was
+(ported to windows)[http://gnuwin32.sourceforge.net/packages/patch.htm],
+but there were (a couple of bugs)
+[http://www.google.com/search?q=Assertion+failed%3A+hunk%2C+file+patch.c]
+that proved that it can not be run securely in web server process.
+The utility was also hard to tweak without a C compiler, it messed
+badly with LF and CRLF line end differences, and so this project
+was born.
+
+*patch.py* was meant to be a cross-platoform tool with intuitive
+defaults, taking care of the most problems (e.g. line end
+differences) automatically.
diff --git a/doc/LICENSE b/doc/LICENSE
new file mode 100644
index 0000000..e172f7a
--- /dev/null
+++ b/doc/LICENSE
@@ -0,0 +1,22 @@
+MIT License
+-----------
+
+Copyright (c) 2008-2016 anatoly techtonik
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/doc/RELEASING b/doc/RELEASING
new file mode 100644
index 0000000..bafb65c
--- /dev/null
+++ b/doc/RELEASING
@@ -0,0 +1,13 @@
+* [ ] Pack .zip archive
+
+    python ./other/pack.py patch.py
+
+* [ ] Write changelog
+
+* [ ] Upload archive to PyPI (manually for now)
+  * [ ] Create new version https://pypi.python.org/pypi?%3Aaction=submit_form&name=patch
+  * [ ] Upload .zip for this version
+
+* [ ] Update PyPI description
+  * [ ] Download PKG-INFO
+  * [ ] Edit and upload
diff --git a/doc/evolution-notes.txt b/doc/evolution-notes.txt
new file mode 100644
index 0000000..784f5e6
--- /dev/null
+++ b/doc/evolution-notes.txt
@@ -0,0 +1,33 @@
+patchset evolution
+
+(diff era)
+1. change some content in a stream
+1. change some lines in a file
+1. protect change with context
+1. change several files
+
+(git diff era)
+2. create file
+2. rename file
+2. move file
+2. copy file
+2. copy and rename
+2. move and rename
+
+3. know file attributes
+3. know file mime-type
+3. know file binary/text
+3. change file attributes
+
+(2D patch jump)
+4. create directory
+4. rename directory
+4. move directory
+4. copy directory
+4. copy and rename
+4. move and rename
+
+5. know directory contents
+5. record directory tree in 1D structure
+5. record changes for 2D structure in 1D structure
+
diff --git a/doc/unified_diff_svn.png b/doc/unified_diff_svn.png
new file mode 100644
index 0000000..77aea61
Binary files /dev/null and b/doc/unified_diff_svn.png differ
diff --git a/doc/unified_diff_svn.svg b/doc/unified_diff_svn.svg
new file mode 100644
index 0000000..e9e794b
--- /dev/null
+++ b/doc/unified_diff_svn.svg
@@ -0,0 +1,1461 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="744.09448"
+   height="1052.3622"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="unified_diff_svn.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="E:\p\_py\rietveld\.rietveld\rietveld2\python-patch-read-only\doc\unified_diff_svn.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata321">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="800"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showgrid="false"
+     inkscape:zoom="1"
+     inkscape:cx="326.14062"
+     inkscape:cy="619.06721"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:current-layer="svg2"
+     inkscape:window-maximized="0" />
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective323" />
+  </defs>
+  <rect
+     style="fill:#d3d3d3;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect3986"
+     y="119.08554"
+     x="29.101612"
+     height="24.043991"
+     width="542.27417" />
+  <rect
+     style="fill:#d3d3d3;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect4079"
+     y="643.3783"
+     x="29.101664"
+     height="21.006182"
+     width="542.31421" />
+  <rect
+     style="fill:#faffc9;fill-opacity:1;stroke:#000000;stroke-width:0.49999997;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect4077"
+     y="530.40411"
+     x="29.101612"
+     height="112.92788"
+     width="542.34729" />
+  <rect
+     style="fill:#faffc9;fill-opacity:1;stroke:#000000;stroke-width:0.49999997;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect4075"
+     y="313.9101"
+     x="29.101612"
+     height="217.22546"
+     width="542.17633" />
+  <rect
+     style="fill:#faffc9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect4073"
+     y="162.67993"
+     x="29.101612"
+     height="154.54366"
+     width="542.27075" />
+  <rect
+     style="fill:#c9ffd5;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect4071"
+     y="141.73454"
+     x="29.101612"
+     height="22.392969"
+     width="542.25354" />
+  <rect
+     style="fill:#faffc9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect4419"
+     y="683.94727"
+     x="29.101612"
+     height="299.80609"
+     width="542.34729" />
+  <rect
+     style="fill:#c9ffd5;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect4421"
+     y="663.87445"
+     x="29.101664"
+     height="21.006186"
+     width="542.31421" />
+  <path
+     style="fill:#ffcfc9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect4536"
+     d="M 29.242421,164.12501 L 29.242421,174.27697 L 157.24347,174.27697 L 157.24347,164.12501 L 29.242421,164.12501 z" />
+  <path
+     style="fill:#ffcfc9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="path4559"
+     d="M 29.242421,317.36739 L 29.242421,327.51935 L 157.24347,327.51935 L 157.24347,317.36739 L 29.242421,317.36739 z" />
+  <path
+     style="fill:#ffcfc9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="path4561"
+     d="M 29.242421,531.36739 L 29.242421,541.51935 L 157.24347,541.51935 L 157.24347,531.36739 L 29.242421,531.36739 z" />
+  <path
+     style="fill:#ffcfc9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="path4563"
+     d="M 29.242421,684.86231 L 29.242421,695.01427 L 157.24347,695.01427 L 157.24347,684.86231 L 29.242421,684.86231 z" />
+  <text
+     style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+     xml:space="preserve"
+     id="text3113"
+     y="55.509674"
+     x="25.596079"
+     transform="scale(1.0216856,0.97877469)"
+     sodipodi:linespacing="125%"><tspan
+       y="55.509674"
+       x="25.596079"
+       sodipodi:role="line"
+       id="tspan4421">Unified Diff/Patch Format (Subversion)</tspan></text>
+  <g
+     id="g4529"
+     transform="matrix(1.0472513,0,0,1.0032667,-0.2576625,-0.3375146)">
+    <rect
+       style="fill:#d3d3d3;fill-opacity:1;stroke:#000000;stroke-width:0.97558779;stroke-opacity:1"
+       id="rect3125"
+       y="75.54467"
+       x="28.284271"
+       height="27.274118"
+       width="122.22845" />
+    <text
+       sodipodi:linespacing="125%"
+       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       xml:space="preserve"
+       id="text3897"
+       y="91.36142"
+       x="41.263729"><tspan
+         style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+         id="tspan3899"
+         y="91.36142"
+         x="41.263729">comments are ignored</tspan></text>
+  </g>
+  <g
+     id="g4520"
+     transform="matrix(1.0472513,0,0,1.0032667,-0.3960063,-0.3375146)">
+    <rect
+       style="fill:#c9ffd5;fill-opacity:1;stroke:#000000;stroke-width:0.97558779;stroke-opacity:1"
+       id="rect3908"
+       y="75.54467"
+       x="160.10918"
+       height="27.274118"
+       width="122.22845" />
+    <text
+       sodipodi:linespacing="125%"
+       style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+       xml:space="preserve"
+       id="text3910"
+       y="87.320808"
+       x="220.56581"><tspan
+         style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+         id="tspan3912"
+         y="87.320808"
+         x="220.56581">the first file that</tspan><tspan
+         style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+         id="tspan3914"
+         y="97.320808"
+         x="220.56581">exists is used</tspan></text>
+  </g>
+  <g
+     id="g4504"
+     transform="matrix(1.0472513,0,0,1.0032667,-0.5343536,-0.3375146)">
+    <rect
+       style="fill:#faffc9;fill-opacity:1;stroke:#000000;stroke-width:0.97558779;stroke-opacity:1"
+       id="rect3926"
+       y="75.54467"
+       x="291.93408"
+       height="27.274118"
+       width="122.22845" />
+    <text
+       sodipodi:linespacing="125%"
+       style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+       xml:space="preserve"
+       id="text3928"
+       y="87.320808"
+       x="352.39072"><tspan
+         style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+         id="tspan3960"
+         y="87.320808"
+         x="352.39072">may contain several</tspan><tspan
+         style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+         id="tspan3964"
+         y="97.320808"
+         x="352.39072">hunks for each file</tspan><tspan
+         style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+         id="tspan3958"
+         y="107.32081"
+         x="352.39072" /></text>
+  </g>
+  <g
+     id="g4486"
+     transform="matrix(1.0472513,0,0,1.0032667,-0.2576418,-0.3375146)">
+    <rect
+       style="fill:#ffcfc9;fill-opacity:1;stroke:#000000;stroke-width:0.97558779;stroke-opacity:1"
+       id="rect3970"
+       y="75.54467"
+       x="423.36264"
+       height="27.274118"
+       width="122.22845" />
+    <text
+       sodipodi:linespacing="125%"
+       style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+       xml:space="preserve"
+       id="text3972"
+       y="87.320808"
+       x="483.81927"><tspan
+         style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+         id="tspan3976"
+         y="87.320808"
+         x="483.81927">-line_from,total_before</tspan><tspan
+         style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+         id="tspan3978"
+         y="97.320808"
+         x="483.81927">+line_after,total_after</tspan></text>
+  </g>
+  <g
+     id="g4567"
+     transform="matrix(1.0472513,0,0,1.0032667,423.10537,67.948198)">
+    <rect
+       style="fill:#c9ffd5;fill-opacity:1;stroke:#000000;stroke-width:0.97558779;stroke-opacity:1"
+       id="rect4569"
+       y="75.54467"
+       x="160.10918"
+       height="27.274118"
+       width="122.22845" />
+    <text
+       sodipodi:linespacing="125%"
+       style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+       xml:space="preserve"
+       id="text4571"
+       y="87.320808"
+       x="220.56581"><tspan
+         style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+         id="tspan4583"
+         y="87.320808"
+         x="220.56581">--- filename \t comment</tspan></text>
+  </g>
+  <g
+     id="g4587"
+     transform="matrix(1.0472513,0,0,1.0032667,283.99712,828.76607)">
+    <rect
+       style="fill:#faffc9;fill-opacity:1;stroke:#000000;stroke-width:0.97558779;stroke-opacity:1"
+       id="rect4589"
+       y="75.54467"
+       x="291.93408"
+       height="27.274118"
+       width="122.22845" />
+    <text
+       sodipodi:linespacing="125%"
+       style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+       xml:space="preserve"
+       id="text4591"
+       y="91.348259"
+       x="352.39072"><tspan
+         style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+         id="tspan4597"
+         y="91.348259"
+         x="352.39072">line ends may differ</tspan></text>
+  </g>
+  <g
+     id="g3056"
+     transform="translate(6.1391031e-6,-2.2888184e-5)">
+    <rect
+       style="fill:#ffcfc9;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1"
+       id="rect4606"
+       y="180.776"
+       x="590.77991"
+       height="41.044823"
+       width="128.00391" />
+    <text
+       transform="scale(1.0216856,0.9787747)"
+       sodipodi:linespacing="125%"
+       style="font-size:8.20018482px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+       xml:space="preserve"
+       id="text4608"
+       y="197.62608"
+       x="640.2099"><tspan
+         style="font-size:8.20018482px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+         id="tspan4622"
+         y="197.62608"
+         x="640.2099">for the format like</tspan><tspan
+         style="font-size:8.20018482px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+         id="tspan4626"
+         y="207.87631"
+         x="640.2099">-line_from +line_after</tspan><tspan
+         style="font-size:8.20018482px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+         id="tspan4616"
+         y="218.12654"
+         x="640.2099">total_xxx = 1</tspan></text>
+  </g>
+  <g
+     id="g4640"
+     transform="matrix(1.0472513,0,0,1.0032667,284.28523,864.45712)">
+    <g
+       id="g4670"
+       transform="translate(-0.2751091,3.9869783)">
+      <rect
+         style="fill:#faffc9;fill-opacity:1;stroke:#000000;stroke-width:0.97558779;stroke-opacity:1"
+         id="rect4642"
+         y="73.76046"
+         x="291.93408"
+         height="40.911179"
+         width="122.22845" />
+      <text
+         sodipodi:linespacing="125%"
+         style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+         xml:space="preserve"
+         id="text4644"
+         y="87.320808"
+         x="352.39072"><tspan
+           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+           id="tspan4668"
+           y="87.320808"
+           x="354.79697">"\ No newline at end of </tspan><tspan
+           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+           id="tspan5786"
+           y="97.320808"
+           x="352.39072">file" marker is used if</tspan><tspan
+           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+           id="tspan5800"
+           y="107.32081"
+           x="352.39072">file ends without newline</tspan><tspan
+           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
+           id="tspan5784"
+           y="117.32081"
+           x="352.39072" /></text>
+    </g>
+  </g>
+  <text
+     sodipodi:linespacing="125%"
+     style="font-size:8.1734848px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+     xml:space="preserve"
+     id="text5802"
+     y="1030.8047"
+     x="37.980774"
+     transform="scale(1.0216856,0.9787747)"><tspan
+       id="tspan5804"
+       y="1030.8047"
+       x="37.980774">http://en.wikipedia.org/wiki/Diff#Unified_format</tspan></text>
+  <text
+     sodipodi:linespacing="125%"
+     style="font-size:8.1734848px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+     xml:space="preserve"
+     id="text5806"
+     y="1041.0216"
+     x="37.980774"
+     transform="scale(1.0216856,0.9787747)"><tspan
+       id="tspan5808"
+       y="1041.0216"
+       x="37.980774">http://techtonik.rainforce.org</tspan></text>
+  <text
+     sodipodi:linespacing="120%"
+     style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+     xml:space="preserve"
+     id="text4629"
+     transform="scale(0.96076502,1.0408372)"
+     y="126.03973"
+     x="39.688015"><tspan
+       id="tspan4631"
+       y="126.03973"
+       x="39.688015"><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4633"
+         y="126.03973"
+         x="39.688015">Index: src/plugins/contrib/devpak_plugin/updatedlg.cpp</tspan><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4635"
+         dx="0"
+         y="126.03973"
+         x="305.19858" /></tspan><tspan
+       id="tspan4637"
+       y="135.84792"
+       x="39.688015"><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4639"
+         y="135.84792"
+         x="39.688015">===================================================================</tspan><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4641"
+         dx="0"
+         y="135.84792"
+         x="369.11774" /></tspan><tspan
+       id="tspan4643"
+       y="145.65608"
+       x="39.688015"><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4645"
+         y="145.65608"
+         x="39.688015">--- src/plugins/contrib/devpak_plugin/updatedlg.cpp (revision 5106)</tspan><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4647"
+         dx="0"
+         y="145.65608"
+         x="369.11774" /></tspan><tspan
+       id="tspan4649"
+       y="155.46426"
+       x="39.688015"><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4651"
+         y="155.46426"
+         x="39.688015">+++ src/plugins/contrib/devpak_plugin/updatedlg.cpp (working copy)</tspan><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4653"
+         dx="0"
+         y="155.46426"
+         x="364.20087" /></tspan><tspan
+       id="tspan4655"
+       y="165.27246"
+       x="39.688015"><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4657"
+         y="165.27246"
+         x="39.688015">@@ -94,11 +94,13 @@</tspan><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4659"
+         dx="0"
+         y="165.27246"
+         x="133.10837" /></tspan><tspan
+       id="tspan4661"
+       y="175.08063"
+       x="39.688015"><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4663"
+         y="175.08063"
+         x="39.688015">     lst->InsertColumn(1, _("Version"));</tspan><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4665"
+         dx="0"
+         y="175.08063"
+         x="236.36249" /></tspan><tspan
+       id="tspan4667"
+       y="184.88881"
+       x="39.688015"><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4669"
+         y="184.88881"
+         x="39.688015">     lst->InsertColumn(2, _("Installed"));</tspan><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4671"
+         dx="0"
+         y="184.88881"
+         x="246.19618" /></tspan><tspan
+       id="tspan4673"
+       y="194.69701"
+       x="39.688015"><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4675"
+         y="194.69701"
+         x="39.688015">     lst->InsertColumn(3, _("Size"), wxLIST_FORMAT_RIGHT);</tspan><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4677"
+         dx="0"
+         y="194.69701"
+         x="324.866" /></tspan><tspan
+       id="tspan4679"
+       y="204.5052"
+       x="39.688015"><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4681"
+         y="204.5052"
+         x="39.688015">+    lst->InsertColumn(4, _("Rev"));</tspan><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4683"
+         dx="0"
+         y="204.5052"
+         x="216.69504" /></tspan><tspan
+       id="tspan4685"
+       y="214.31337"
+       x="39.688015"><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4687"
+         y="214.31337"
+         x="39.688015"> </tspan><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4689"
+         dx="0"
+         y="214.31337"
+         x="44.604874" /></tspan><tspan
+       id="tspan4691"
+       y="224.12157"
+       x="39.688015"><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4693"
+         y="224.12157"
+         x="39.688015">-    lst->SetColumnWidth(0, lst->GetSize().x - (64 * 3) - 2); // 1st column takes all remaining space</tspan><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4695"
+         dx="0"
+         y="224.12157"
+         x="536.29102" /></tspan><tspan
+       id="tspan4697"
+       y="233.92973"
+       x="39.688015"><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4699"
+         y="233.92973"
+         x="39.688015">+    lst->SetColumnWidth(0, lst->GetSize().x - (64 * 3 + 40) - 6 ); // 1st column takes all remaining space</tspan><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4701"
+         dx="0"
+         y="233.92973"
+         x="565.79218" /></tspan><tspan
+       id="tspan4703"
+       y="243.73793"
+       x="39.688015"><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4705"
+         y="243.73793"
+         x="39.688015">     lst->SetColumnWidth(1, 64);</tspan><tspan
+         style="font-size:8.17348385px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Lucida Console;-inkscape-font-specification:Lucida Console"
+         id="tspan4707"
+         dx="0"
+         y="243.73793"
... 8125 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-patch.git



More information about the Python-modules-commits mailing list