Skip to content

Latest commit

 

History

History
126 lines (103 loc) · 4.6 KB

CHANGES.md

File metadata and controls

126 lines (103 loc) · 4.6 KB
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