blob: 231e696c9a7ee267014478980475a765010b7837 [file] [log] [blame]
iannucci@chromium.orgc050a5b2014-03-26 06:18:50 +00001'\" t
2.\" Title: git-upstream-diff
3.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
4.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
Aaron Gable96dc0852017-02-27 13:51:01 -08005.\" Date: 02/27/2017
iannucci@chromium.orgc050a5b2014-03-26 06:18:50 +00006.\" Manual: Chromium depot_tools Manual
Aaron Gable96dc0852017-02-27 13:51:01 -08007.\" Source: depot_tools a6ba28f5
iannucci@chromium.orgc050a5b2014-03-26 06:18:50 +00008.\" Language: English
9.\"
Aaron Gable96dc0852017-02-27 13:51:01 -080010.TH "GIT\-UPSTREAM\-DIFF" "1" "02/27/2017" "depot_tools a6ba28f5" "Chromium depot_tools Manual"
iannucci@chromium.orgc050a5b2014-03-26 06:18:50 +000011.\" -----------------------------------------------------------------
12.\" * Define some portability stuff
13.\" -----------------------------------------------------------------
14.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15.\" http://bugs.debian.org/507673
16.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18.ie \n(.g .ds Aq \(aq
19.el .ds Aq '
20.\" -----------------------------------------------------------------
21.\" * set default formatting
22.\" -----------------------------------------------------------------
23.\" disable hyphenation
24.nh
25.\" disable justification (adjust text to left margin only)
26.ad l
27.\" -----------------------------------------------------------------
28.\" * MAIN CONTENT STARTS HERE *
29.\" -----------------------------------------------------------------
30.SH "NAME"
31git-upstream-diff \- Print a diff of the current branch, compared to its upstream\&.
32.SH "SYNOPSIS"
33.sp
34.nf
35\fIgit upstream\-diff\fR [\-\-wordwise] [<extra args for git\-diff>*]
36.fi
37.sp
38.SH "DESCRIPTION"
39.sp
Quinten Yearsley442fb642016-12-15 15:38:27 -080040Shows a diff between your current branch and it\(cqs upstream\&. This is \fIroughly\fR the same as:
iannucci@chromium.orgc050a5b2014-03-26 06:18:50 +000041.sp
42.if n \{\
43.RS 4
44.\}
45.nf
46git diff \-\-patience \-C \-C HEAD@{upstream} \fB(1)\fR \fB(2)\fR
47.fi
48.if n \{\
49.RE
50.\}
51.sp
52.sp
53\fB1. \fR\-C \-C
54detects file copies/renames
55.br
56\fB2. \fR\-\-patience
57uses the patience\-diff algorithm, which tends to produce nicer diffs in many cases\&.
58.br
59.sp
60The difference is that HEAD@{upstream} is actually the tagged merge base of your branch (See \fBgit-rebase-update\fR(1))\&. This means that if your upstream branch was rebased, but you haven\(cqt yet rebased the current branch on top of it, you\(cqll still see an accurate diff compared to just diffing against @{upstream}\&.
61.sp
62The \-\-wordwise option also allows git\-diff to do word\-by\-word comparison in a semi\-intelligent way\&. However, sometimes it can produce surprising results, so it is disabled by default\&.
63.SH "OPTIONS"
64.PP
65\-\-wordwise
66.RS 4
67Print a colorized word\-wise diff instead of a line\-wise diff\&.
68.RE
69.PP
70<extra args for git\-diff>
71.RS 4
72Extra arguments are included in the invocation of
73\fBgit-diff\fR(1)\&. These can be anything that
74git\-diff
75normally takes\&.
76.PP
77\-\-stat
78.RS 4
79This is particularly useful to show
80\fIwhich\fR
81files have been changed in comparison to the upstream branch\&.
82.RE
83.PP
iannucci@chromium.org5c7e5b32014-05-08 19:20:10 +000084\-\-staged
85.RS 4
86Diff against the staged (cached) changes, instead of against the working directory\&. This is
87\fIsubstantially\fR
88faster on large repos, but doesn\(cqt take into account unstaged changes (i\&.e\&. changes in your working copy which you haven\(cqt staged with
89git add)\&.
90.RE
91.PP
iannucci@chromium.orgc050a5b2014-03-26 06:18:50 +000092\-\- <filename patterns>*
93.RS 4
94Restrict the diff to only show the diff for given files compared to the upstream\&.
95.RE
96.RE
97.SH "CONFIGURATION VARIABLES"
98.SS "depot\-tools\&.upstream\-diff\&.default\-args"
99.sp
100A list\-configuration variable\&. Each instance of this config variable will be prepended to all invocations of git upstream\-diff, as if you had passed them on the command line\&.
101.SH "SUGGESTED ALIASES"
102.sp
103Some common short\-hand aliases\&. Feel free to add these to your \fI~/\&.gitconfig\fR file\&.
104.sp
105.if n \{\
106.RS 4
107.\}
108.nf
109[alias]
110 git udiff = upstream\-diff
111.fi
112.if n \{\
113.RE
114.\}
115.sp
116.SH "SEE ALSO"
117.sp
118\fBgit-rebase-update\fR(1)
119.SH "CHROMIUM DEPOT_TOOLS"
120.sp
iannucci@chromium.org21980022014-04-11 04:51:49 +0000121Part of the chromium \fBdepot_tools\fR(7) suite\&. These tools are meant to assist with the development of chromium and related projects\&. Download the tools from \m[blue]\fBhere\fR\m[]\&\s-2\u[1]\d\s+2\&.
iannucci@chromium.orgc050a5b2014-03-26 06:18:50 +0000122.SH "NOTES"
123.IP " 1." 4
124here
125.RS 4
Quinten Yearsley442fb642016-12-15 15:38:27 -0800126\%https://chromium.googlesource.com/chromium/tools/depot_tools.git
iannucci@chromium.orgc050a5b2014-03-26 06:18:50 +0000127.RE