HomePython softwarell.scriptsudiff

ll.scripts.udiff

Script for diffing files/directories

Purpose

udiff is a script that can be used to show the differences between files or directories. It is an URL-enabled version of the diff system command. Via ll.url and ll.orasql udiff supports ssh and oracle URLs.

Options

udiff supports the following options:

url1

The first URL to be compared (Note that a trailing / is required for directories).

url2

The second URL to be compared (Note that a trailing / is required for directories).

--encoding (encoding name)

The encoding name to use for decoding files (default utf-8).

--errors (encoding error handler name)

Encoding error handling to use for reading text files (e.g. strict, replace, ignore, xmlcharrefreplace or backslashreplace; default replace).

--color: yes, no or auto

Should the output of udiff be colored? The default auto uses coloring if stdout supports it.

-v, --verbose (false, no, 0, true, yes or 1)

Prints which files are compare before the comparison. Without -v1 udiff will be silent as long as no differences are detected.

-r, --recursive (false, no, 0, true, yes or 1)

Compare directories recursively.

-i, --include (pattern(s))

Only compares files whose name matches one of the specified patterns.

-e, --exclude (pattern(s))

Don't compares files whose name matches one of the specified patterns.

--enterdir (pattern(s))

Only enter directories whose name matches one of the specified patterns.

--skipdir (pattern(s))

Don't enter directories whose name matches one of the specified patterns.

-n, --context (integer)

How many lines of copied context to show (default 2).

-b, --blank (literal, trail, lead, both or collapse)

How to compare whitespace within lines. literal compares whitespace literally. trail ignores differences in trailing whitespace, lead ignores differences in leading whitespace, both ignores both leading and trailing whitespace and collapse collapses whitespace into a single space before comparing lines.

Examples

Compare two files:

$ udiff foo.txt bar.txt

Recursively compare two directories, but skip the .git directory:

$ udiff foo/ bar/ -r --skipdir=.git

Recursively compare two Oracle schemas:

$ udiff oracle://user1:pwd@database1  oracle://user2:pwd@database2 -r

class Line​(object):

def __init__​(self, line, blank):

def __eq__​(self, other):

def __ne__​(self, other):

def __hash__​(self):

def main​(args=None):

Alternate versions   Text   XIST   Python