Namespaces

Types in GitSharp.Commands

Type DiffTreeCommand

Namespace GitSharp.Commands

Parent AbstractCommand

Properties

Public properties

string Abbrev get; set;

Not implemented Instead of showing the full 40-byte hexadecimal object name in diff-raw format output and diff-tree header lines, show only a partial prefix. This is independent of the `--full-index` option above, which controls the diff-patch output format. Non default number of digits can be specified with `--abbrev=`.

bool AbbrevCommit get; set;

Not implemented Instead of showing the full 40-byte hexadecimal commit object name, show only a partial prefix. Non default number of digits can be specified with "--abbrev=" (which also modifies diff output, if it is displayed). + This should make "--pretty=oneline" a whole lot more readable for people using 80-column terminals.

string ActualDirectory get;

bool Always get; set;

Not implemented Show the commit itself and the commit log message even if the diff itself is empty.

List<string> Arguments get; set;

bool B get; set;

Not implemented Break complete rewrite changes into pairs of delete and create.

bool Binary get; set;

Not implemented In addition to `--full-index`, output a binary diff that can be applied with `git-apply`.

bool c get; set;

Not implemented This flag changes the way a merge commit is displayed (which means it is useful only when the command is given one , or '--stdin'). It shows the differences from each of the parents to the merge result simultaneously instead of showing pairwise diff between a parent and the result one at a time (which is what the '-m' option does). Furthermore, it lists only files which were modified from all parents.

bool C get; set;

Not implemented Detect copies as well as renames. See also `--find-copies-harder`.

bool Cc get; set;

Not implemented This flag changes the way a merge commit patch is displayed, in a similar way to the '-c' option. It implies the '-c' and '-p' options and further compresses the patch output by omitting uninteresting hunks whose the contents in the parents have only two variants and the merge result picks one of them without modification. When all hunks are uninteresting, the commit itself and the commit log message is not shown, just like in any other "empty diff" case.

bool Check get; set;

Not implemented ifndef::git-format-patch[] Warn if changes introduce trailing whitespace or an indent that uses a space before a tab. Exits with non-zero status if problems are found. Not compatible with --exit-code. endif::git-format-patch[]

bool Color get; set;

Not implemented Show colored diff.

string ColorWords get; set;

Not implemented Show colored word diff, i.e., color words which have changed. By default, words are separated by whitespace. + When a is specified, every non-overlapping match of the considered whitespace and ignored(!) for the purposes of finding differences. You may want to append `|[^[:space:]]` to your regular expression to make sure that it matches all non-whitespace characters. A match that contains a newline is silently truncated(!) at the newline. + The regex can also be set via a diff driver or configuration option, see linkgit:gitattributes[1] or linkgit:git-config[1]. Giving it explicitly overrides any diff driver or configuration setting. Diff drivers override configuration settings. endif::git-format-patch[]

string DiffFilter get; set;

Not implemented ifndef::git-format-patch[] Select only files that are Added (`A`), Copied (`C`), Deleted (`D`), Modified (`M`), Renamed (`R`), have their type (i.e. regular file, symlink, submodule, ...) changed (`T`), are Unmerged (`U`), are Unknown (`X`), or have had their pairing Broken (`B`). Any combination of the filter characters may be used. When `*` (All-or-none) is added to the combination, all paths are selected if there is any file that matches other criteria in the comparison; if there is no file that matches other criteria, nothing is selected. endif::git-format-patch[]

string Dirstat get; set;

Not implemented Output the distribution of relative amount of changes (number of lines added or removed) for each sub-directory. Directories with changes below a cut-off percent (3% by default) are not shown. The cut-off percent can be set with `--dirstat=limit`. Changes in a child directory is not counted for the parent directory, unless `--cumulative` is used.

string DirstatByFile get; set;

Not implemented Same as `--dirstat`, but counts changed files instead of lines.

string DstPrefix get; set;

Not implemented Show the given destination prefix instead of "b/".

string Encoding get; set;

Not implemented The commit objects record the encoding used for the log message in their encoding header; this option can be used to tell the command to re-code the commit log message in the encoding preferred by the user. For non plumbing commands this defaults to UTF-8.

bool ExitCode get; set;

Not implemented ifndef::git-format-patch[] Make the program exit with codes similar to diff(1). That is, it exits with 1 if there were differences and 0 means no differences.

bool ExtDiff get; set;

Not implemented Allow an external diff helper to be executed. If you set an external diff driver with linkgit:gitattributes[5], you need to use this option with linkgit:git-log[1] and friends.

bool FindCopiesHarder get; set;

Not implemented For performance reasons, by default, `-C` option finds copies only if the original file of the copy was modified in the same changeset. This flag makes the command inspect unmodified files as candidates for the source of copy. This is a very expensive operation for large projects, so use it with caution. Giving more than one `-C` option has the same effect.

string Format get; set;

Not implemented For more detailed explanation on these common options, see also linkgit:gitdiffcore[7].

bool FullIndex get; set;

Not implemented Instead of the first handful of characters, show the full pre- and post-image blob object names on the "index" line when generating patch format output.

string GitDirectory get; set;

bool IgnoreAllSpace get; set;

Not implemented Ignore whitespace when comparing lines. This ignores differences even if one line has whitespace where the other line has none.

bool IgnoreSpaceAtEol get; set;

Not implemented Ignore changes in whitespace at EOL.

bool IgnoreSpaceChange get; set;

Not implemented Ignore changes in amount of whitespace. This ignores whitespace at line end, and considers all other sequences of one or more whitespace characters to be equivalent.

bool IgnoreSubmodules get; set;

Not implemented Ignore changes to submodules in the diff generation.

string InterHunkContext get; set;

Not implemented Show the context between diff hunks, up to the specified number of lines, thereby fusing hunks that are close to each other.

string L get; set;

Not implemented The `-M` and `-C` options require O(n^2) processing time where n is the number of potential rename/copy targets. This option prevents rename/copy detection from running if the number of rename/copy targets exceeds the specified number.

bool m get; set;

Not implemented By default, 'git-diff-tree --stdin' does not show differences for merge commits. With this flag, it shows differences to that commit from all of its parents. See also '-c'.

bool M get; set;

Not implemented Detect renames.

bool NameOnly get; set;

Not implemented Show only names of changed files.

bool NameStatus get; set;

Not implemented Show only names and status of changed files. See the description of the `--diff-filter` option on what the status letters mean.

bool NoColor get; set;

Not implemented Turn off colored diff, even when the configuration file gives the default to color output.

bool NoCommitId get; set;

Not implemented 'git-diff-tree' outputs a line with the commit ID when applicable. This flag suppressed the commit ID output.

bool NoExtDiff get; set;

Not implemented Disallow external diff drivers.

bool NoPrefix get; set;

Not implemented Do not show any source or destination prefix.

bool NoRenames get; set;

Not implemented Turn off rename detection, even when the configuration file gives the default to do so.

bool NoStat get; set;

Not implemented ifdef::git-format-patch[] Generate plain patches without any diffstats. endif::git-format-patch[]

bool Numstat get; set;

Not implemented Similar to `\--stat`, but shows number of added and deleted lines in decimal notation and pathname without abbreviation, to make it more machine friendly. For binary files, outputs two `-` instead of saying `0 0`.

string O get; set;

Not implemented Output the patch in the order specified in the , which has one shell glob pattern per line.

bool Oneline get; set;

Not implemented This is a shorthand for "--pretty=oneline --abbrev-commit" used together.

StreamWriter OutputStream get; set;

bool P get; set;

Not implemented ifndef::git-format-patch[] Generate patch (see section on generating patches). {git-diff? This is the default.} endif::git-format-patch[]

bool PatchWithRaw get; set;

Not implemented ifndef::git-format-patch[] Synonym for `-p --raw`. endif::git-format-patch[]

bool PatchWithStat get; set;

Not implemented ifndef::git-format-patch[] Synonym for `-p --stat`. endif::git-format-patch[]

bool Patience get; set;

Not implemented Generate a diff using the "patience diff" algorithm.

bool PickaxeAll get; set;

Not implemented When `-S` finds a change, show all the changes in that changeset, not just the files that contain the change in .

string PickaxeRegex get; set;

Not implemented Make the not a plain string but an extended POSIX regex to match.

string Pretty get; set;

Not implemented For more detailed explanation on these common options, see also linkgit:gitdiffcore[7].

bool Quiet get; set;

Not implemented Disable all output of the program. Implies `--exit-code`. endif::git-format-patch[]

bool r get; set;

Not implemented recurse into sub-trees

bool R get; set;

Not implemented ifndef::git-format-patch[] Swap two inputs; that is, show differences from index or on-disk file to tree contents.

bool Raw get; set;

Not implemented ifndef::git-format-patch[] Generate the raw format. {git-diff-core? This is the default.} endif::git-format-patch[]

string Relative get; set;

Not implemented When run from a subdirectory of the project, it can be told to exclude changes outside the directory and show pathnames relative to it with this option. When you are not in a subdirectory (e.g. in a bare repository), you can name which subdirectory to make the output relative to by giving a as an argument. endif::git-format-patch[]

Repository Repository get; set;

bool Root get; set;

Not implemented When '--root' is specified the initial commit will be shown as a big creation event. This is equivalent to a diff against the NULL tree.

bool s get; set;

Not implemented By default, 'git-diff-tree --stdin' shows differences, either in machine-readable form (without '-p') or in patch form (with '-p'). This output can be suppressed. It is only useful with '-v' flag.

string S get; set;

Not implemented ifndef::git-format-patch[] Look for differences that introduce or remove an instance of . Note that this is different than the string simply appearing in diff output; see the 'pickaxe' entry in linkgit:gitdiffcore[7] for more details.

bool Shortstat get; set;

Not implemented Output only the last line of the `--stat` format containing total number of modified files, as well as number of added and deleted lines.

string SrcPrefix get; set;

Not implemented Show the given source prefix instead of "a/".

string Stat get; set;

Not implemented Generate a diffstat. You can override the default output width for 80-column terminal by `--stat=width`. The width of the filename part can be controlled by giving another width to it separated by a comma.

bool Stdin get; set;

Not implemented When '--stdin' is specified, the command does not take arguments from the command line. Instead, it reads lines containing either two , one , or a list of from its standard input. (Use a single space as separator.) + When two trees are given, it compares the first tree with the second. When a single commit is given, it compares the commit with its parents. The remaining commits, when given, are used as if they are parents of the first commit. + When comparing two trees, the ID of both trees (separated by a space and terminated by a newline) is printed before the difference. When comparing commits, the ID of the first (or only) commit, followed by a newline, is printed. + The following flags further affect the behavior when comparing commits (but not trees).

string Submodule get; set;

Not implemented Chose the output format for submodule differences. can be one of 'short' and 'log'. 'short' just shows pairs of commit names, this format is used when this option is not given. 'log' is the default value for this option and lists the commits in that commit range like the 'summary' option of linkgit:git-submodule[1] does.

bool Summary get; set;

Not implemented Output a condensed summary of extended header information such as creations, renames and mode changes.

bool T get; set;

Not implemented show tree entry itself as well as subtrees. Implies -r.

bool Text get; set;

Not implemented Treat all files as text.

bool U get; set;

Not implemented ifndef::git-format-patch[] Generate patch (see section on generating patches). {git-diff? This is the default.} endif::git-format-patch[]

string Unified get; set;

Not implemented Generate diffs with lines of context instead of the usual three. ifndef::git-format-patch[] Implies `-p`. endif::git-format-patch[]

bool V get; set;

Not implemented This flag causes 'git-diff-tree --stdin' to also show the commit message before the differences.

bool Z get; set;

Not implemented ifdef::git-log[] Separate the commits with NULs instead of with new newlines. + Also, when `--raw` or `--numstat` has been given, do not munge pathnames and use NULs as output field terminators. endif::git-log[] ifndef::git-log[] When `--raw` or `--numstat` has been given, do not munge pathnames and use NULs as output field terminators. endif::git-log[] + Without this option, each pathname output will have TAB, LF, double quotes, and backslash characters replaced with `\t`, `\n`, `\"`, and `\\`, respectively, and the pathname will be enclosed in double quotes if any of those replacements occurred.