Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
PATCHVIEW(1)			    Man pages			    PATCHVIEW(1)

NAME
     patchview, gitdiff, gitdiffview, gitshow, gitshowview, svndiff, svndiffview
     - Without options, show numbered files modified by the patch. With options,
     behave as filterdiff.

SYNOPSIS
     patchview [[-n] | [--line-number]] [[-p n] | [--strip-match=n]] [--strip=n]
	       [--git-prefixes=strip|keep]     [--git-extended-diffs=exclude|in-
	       clude]  [--addprefix=PREFIX]  [[-s]   |	 [--status]]   [[-E]   |
	       [--empty-files-as-removed]]  [[-i PATTERN] | [--include=PATTERN]]
	       [[-x PATTERN]  |  [--exclude=PATTERN]]  [[-z]  |  [--decompress]]
	       [[-# RANGE]   |	[--hunks=RANGE]]  [--lines=RANGE]  [[-FRANGE]  |
	       [--files=RANGE]] [[-H] | [--with-filename]] [[-h]  |  [--no-file-
	       name]] [[-v] | [--verbose]...] [file...]

     patchview {[--help] | [--version] | [--filter ...] | [--grep ...]}

DESCRIPTION
     So  what  is patchview? It is a wrapper of filterdiff for use with numbered
     files.

	 patchview

     (without args) is equivalent to: lsdiff --number

	 patchview -F2-

     (or with any other args) is equivalent to: filterdiff -F2- (or whatever ar-
     guments are supplied)

     There are 4 scripts for working with git repos (gitdiff, gitdiffview,  git-
     show and gitshowview) and 2 for svn (svndiff and svndiffview).

	 svndiff

	 gitdiff

     (without args) will give the list of files modified

	 svndiff -F1

	 gitdiff -F1

     will show the patch of file #1

	 svndiffview

	 gitdiffview

     pipe all patches through filterdiff to vim - -R (in read-only mode, easy to
     quit), showing complete patch with color.

	 svndiffview -F2

	 gitdiffview -F2

     (or any other args) will pipe patch of file #2 to vim - -R

	 gitshow

	 gitshowview

     This is the same as gitdiff but uses git show instead of git diff.

OPTIONS
     -n, --line-number
	 Display the line number that each patch begins at. If verbose output is
	 requested (using -nv), each hunk of each patch is listed as well.

	 For each file that is modified, a line is generated containing the line
	 number of the beginning of the patch, followed by a Tab character, fol-
	 lowed	by  the  name of the file that is modified. If -v is given once,
	 following each of these lines will be one line for each hunk,	consist-
	 ing  of  a  Tab character, the line number that the hunk begins at, an-
	 other Tab character, the string "Hunk #", and the hunk number (starting
	 at 1).

	 If the -v is given twice in conjunction with -n (i.e.	-nvv), the  for-
	 mat  is  slightly different: hunk-level descriptive text is shown after
	 each hunk number, and the --number-files option is enabled.

     -N, --number-files
	 File numbers are listed, beginning at 1, before each filename.

     -#RANGE, --hunks=RANGE
	 Only list hunks within the specified RANGE. Hunks are numbered from  1,
	 and  the  range  is  a  comma-separated list of numbers or "first-last"
	 spans, optionally preceded by a modifier 'x' which inverts  the  entire
	 range; either the first or the last in the span may be omitted to indi-
	 cate no limit in that direction.

     --lines=RANGE
	 Only  list  hunks  that  contain  lines from the original file that lie
	 within the specified RANGE. Lines are numbered from 1, and the range is
	 a comma-separated list of numbers  or	"first-last"  spans,  optionally
	 preceded  by  a modifier 'x' which inverts the entire range; either the
	 first or the last in the span may be omitted to indicate  no  limit  in
	 that direction.

     -F=RANGE, --files=RANGE
	 Only  list  files  indicated by the specified RANGE. Files are numbered
	 from 1 in the order they appear in the patch input, and the range is  a
	 comma-separated  list of numbers or "first-last" spans, optionally pre-
	 ceded by a modifier 'x' which inverts	the  entire  range;  either  the
	 first	or  the  last in the span may be omitted to indicate no limit in
	 that direction.

     -pn, --strip-match=n
	 When matching, ignore the first n components of the pathname.

     --strip=n
	 Remove the first n components of the pathname before displaying it.

     --git-prefixes=strip|keep
	 How to handle a/ and b/ prefixes in Git diff filenames. With strip, re-
	 moves the prefixes both for filename matching (when using -i and -x op-
	 tions) and for filename output (similar to  --strip).	With  keep  (de-
	 fault), preserves existing behavior. Applies to both Git-specific diffs
	 (binary  files,  renames, mode changes) and traditional diffs when part
	 of a Git patch. Note: With keep, copy and rename operations are treated
	 as if they had a/ and b/ prefixes for consistency with other Git opera-
	 tions. The default will change to strip in version 0.5.0.

     --git-extended-diffs=exclude|include
	 Controls whether to  process  Git  diffs  without  traditional  content
	 hunks.  This  includes  renames,  copies, mode-only changes, and binary
	 files. With exclude (default in 0.4.x), these diffs are  skipped.  With
	 include  (default  in 0.5.0+), these diffs are processed normally. This
	 option affects file numbering with -N and file filtering with -F.

     --addprefix=PREFIX
	 Prefix the pathname with PREFIX before displaying it.

     -s, --status
	 Show file additions, modifications and removals. A file addition is in-
	 dicated by a "+", a removal by a "-", and a modification by a "!".

     --empty-files-as-absent, --empty-files-as-removed
	 Treat empty files as absent for the purpose of  displaying  file  addi-
	 tions,  modifications	and  removals. For example, a file with an empty
	 old version and additions in the new version will be treated as a  file
	 addition  (+)	rather than a modification (!). Note: For grepdiff, only
	 the long form is available (-E means --extended-regexp for grepdiff).

     -iPATTERN, --include=PATTERN
	 Include only files matching PATTERN.

     -xPATTERN, --exclude=PATTERN
	 Exclude files matching PATTERN.

     -z, --decompress
	 Decompress files with extensions .gz and .bz2.

     -H, --with-filename
	 Print the name of the patch file containing each patch.

     -h, --no-filename
	 Suppress the name of the patch file containing each patch.

     -v, --verbose
	 Verbose output. For the git and svn wrapper scripts  (gitdiff,  gitdif-
	 fview,  gitshow,  gitshowview, svndiff, svndiffview), this option shows
	 the full command that is being executed.

     --help
	 Display a short usage message.

     --version
	 Display the version number of patchview.

     --filter
	 Behave like filterdiff(1) instead.

     --grep
	 Behave like grepdiff(1) instead.

SEE ALSO
     lsdiff(1),filterdiff(1), grepdiff(1)

EXAMPLES
     We can make the following one-line script with the name difftotrunk.sh,  to
     view the differences of two directories or svn repos (trunk and .)

	 diff ../trunk . -ru -x .svn | patchview "$@"

	 ./difftotrunk.sh , will show all different files and his number.

	 ./difftotrunk.sh -F3,4 , will show the differences of files #3 and #4 only.

	 ./difftotrunk.sh -F3 -#1 , will show only hunk #1 of file #3.

	 ./difftotrunk.sh -F3 -#x1 , will show the differences of files #3 without hunk #1 (x means that exclude).

AUTHOR
     Tim Waugh <twaugh@redhat.com>
	 Package maintainer

patchutils			   02 Jul 2020			    PATCHVIEW(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=patchview&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help