Steven Myint
095740253c
Handle Latin-1 encoded text in diffs
This is useful for avoiding crashing on "cdiff -l" (on Python 3) in
https://github.com/myint/cppclean.
Also handle unknown encodings gracefully rather than crashing.
11 anni fa
Matthew Wang
bc2b4bf5db
Version bumped up to 0.9.3
11 anni fa
Matthew Wang
61d9e93b7b
Remove unused 'os'
11 anni fa
Matthew Wang
1755970048
Adjust Popen object creation order to fix issue #30
Have to create pager Popen object before the translator Popen object
in PatchStreamForwarder, otherwise the `stdin=subprocess.PIPE` would cause
trouble to the translator pipe (select() never see EOF after input stream
ended), most likely python bug 12607 (http://bugs.python.org/issue12607)
which was fixed in python 2.7.3.
11 anni fa
Matthew Wang
2d2815a228
Update: try for issue #30 works for python >= 2.7.3
11 anni fa
Matthew Wang
12efc9d2c7
Implement next() for Python 2.5
11 anni fa
Matthew Wang
d4ed688e5c
Another try for issue #30
blocking mode with select() and bufsize=1, buggy in python 2.x:
close() does not notify select() for EOF
11 anni fa
Matthew Wang
c2f3622c8a
Lazy fix #32 by set default encoding to utf-8
11 anni fa
Matthew Wang
73e8e660b4
Fix issue #31 by catching UnicodeDecodeError as well
11 anni fa
Matthew Wang
e83642c799
Use file object's .closed instead of _istream_open
11 anni fa
Steven Myint
d3032476c1
Remove code made unnecessary by #28
11 anni fa
Steven Myint
2cb541c957
Handle all keyboard interrupts more completely
Also handle abruptly closed pipe gracefully.
11 anni fa
Matthew Wang
af8a8eb48d
Version bumped to 0.9.2
11 anni fa
Matthew Wang
5f671d7bdd
Show extra help message after option list
Use OptionGroup for hack
11 anni fa
Matthew Wang
57e62f2a7c
Stop on first unknown option and pass them down
- Close issue #26 (user can now use cdiff -s -U5 --cached)
11 anni fa
Matthew Wang
e19f384ba4
Fix issue #23 with --no-ext-diff
Use `--no-ext-diff` to disable GIT_EXTERNAL_DIFF and diff.external which might
break cdiff output
11 anni fa
killarny
bcb99110bd
Temporarily unset GIT_EXTERNAL_DIFF when invoking git diff.
When the git diff command is customized through setting GIT_EXTERNAL_DIFF in the environment, the output of cdiff is broken and defaults to the output of the tool git has been configured to use.
Temporarily unsetting this variable when cdiff invokes git diff fixes the issue.
11 anni fa
Matthew Wang
56eb7bce95
Version info and document update for 0.9
11 anni fa
Matthew Wang
04ac895387
Refactor to make logic clearer, no DiffOps anymore
If need to support normal diff, writing a ndiff to udiff translator
makes more sense
11 anni fa
Matthew Wang
ab9a9981c6
Enhance diff parser on handling hunk links, fix #20
11 anni fa
Matthew Wang
e7854dddde
Support context diff via filterdiff, fixed #15
11 anni fa
Matthew Wang
2e49a7eb3f
Fall through unknown format to 'unified', fixed #18
11 anni fa
Steven Myint
5ddd06fd05
Handle a diff with only an svn property change
11 anni fa
Matthew Wang
b87376fac9
Should tolerate dos format
11 anni fa
Matthew Wang
69e4b1683e
Probe context diff for #15
11 anni fa
Matthew Wang
7881a41f69
- Naming enhancement for unified diff
11 anni fa
Matthew Wang
b6a591a6ce
Version bump up to 0.8
11 anni fa
Matthew Wang
e191e54ea6
Fixed #14 by tolerating dangling headers and short patch < 4 lines
11 anni fa
Matthew Wang
6a6249f4c6
Dirty fix false alarm of dangling header reported in issue #14
11 anni fa
Matthew Wang
a09947c1b5
Enough unit tests (95%)
11 anni fa
Matthew Wang
45b95d6e09
Split Diff detector methods to class DiffOps
11 anni fa
Matthew Wang
b601b6206d
Use '# pragma: no cover' to ignore 1 line logic
11 anni fa
Matthew Wang
f64e6ceb35
Conform PEP8 (with minor own flavors)
11 anni fa
Matthew Wang
7203ec0983
Version bump up to 0.7.1
11 anni fa
Matthew Wang
a413a0351d
Handle 'Binary files ... differ'
11 anni fa
Matthew Wang
c929b5fc3a
Remove unused 'IS_PY3'
11 anni fa
Matthew Wang
176bd406a6
Document/usage update for 0.7
11 anni fa
Matthew Wang
957483ad17
Inline usage update
11 anni fa
Matthew Wang
75b79f0935
Support reading diff or log for given files/dirs in workspace (usage changed on
11 anni fa
Matthew Wang
0525f7c1dc
Handle 'Only in <dir>: ' header in output from diff -ru d1 d2
11 anni fa
Matthew Wang
8f1aa45c8b
revert debug code; clean up
11 anni fa
Matthew Wang
e4eccf3fbc
Code and doc lint
11 anni fa
Matthew Wang
4835304ffa
Document update and clean up for v0.6
11 anni fa
Matthew Wang
8bea7f19f0
Less useless getters
11 anni fa
Matthew Wang
6e60a56c0c
Make patch parser more solid
11 anni fa
Steven Myint
ec6d34da5b
Show merge history in Subversion log
Without this, some of the logs will not be shown.
11 anni fa
Matthew Wang
8f24a53487
More clear logic with _fit_with_marker_mix()
11 anni fa
Matthew Wang
58bb01b0a7
Performance enhancement
11 anni fa
Matthew Wang
7debe071d5
- Fixed incorrect yield on diff missing eof
- Fixed a bug in diff format probe
- Handle keyboard interrupt and large diffs in non-color mode
- Code clean up
11 anni fa
Steven Myint
6e9d22e205
Gracefully handle keyboard interrupt
Previously, a keyboard interrupt would result in a corrupted terminal.
This would manifest when doing "cdiff --log" on somewhat large
repositories.
11 anni fa