DiffView
Side-by-Side Git, SVN and Bazaar Diff Viewer for Sublime Text 3
Details
Installs
- Total 31K
- Win 13K
- Mac 11K
- Linux 6K
Dec 5 | Dec 4 | Dec 3 | Dec 2 | Dec 1 | Nov 30 | Nov 29 | Nov 28 | Nov 27 | Nov 26 | Nov 25 | Nov 24 | Nov 23 | Nov 22 | Nov 21 | Nov 20 | Nov 19 | Nov 18 | Nov 17 | Nov 16 | Nov 15 | Nov 14 | Nov 13 | Nov 12 | Nov 11 | Nov 10 | Nov 9 | Nov 8 | Nov 7 | Nov 6 | Nov 5 | Nov 4 | Nov 3 | Nov 2 | Nov 1 | Oct 31 | Oct 30 | Oct 29 | Oct 28 | Oct 27 | Oct 26 | Oct 25 | Oct 24 | Oct 23 | Oct 22 | Oct 21 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 2 | 2 | 0 | 5 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 3 | 2 | 0 | 1 | 0 | 0 | 2 | 0 | 0 | 4 | 1 | 0 | 0 | 3 | 4 | 1 | 5 | 3 | 1 | 2 | 1 | 3 | 2 | 1 | 0 | 0 | 4 | 1 | 1 | 1 | 1 | 1 |
Mac | 2 | 0 | 2 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 1 | 0 | 3 | 4 | 0 | 5 | 2 | 3 | 1 | 0 | 1 | 2 | 1 | 2 | 2 | 1 | 1 | 2 | 2 | 0 | 4 | 3 |
Linux | 0 | 1 | 2 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 4 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 2 | 1 | 1 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 2 |
Readme
- Source
- raw.githubusercontent.com
DiffView for Sublime Text 3
Git, SVN and Bazaar Diff Viewer for Sublime Text 3
Features
- Side-by-side view with differences highlighted
- Quick navigation from one change to the next, or search for diffs in a specific file
- Auto-detects the repository to use from the current active file
- Flexible diffs for Git, SVN and Bazaar (see below for the full set of options)
- The most common diff (uncommitted changes) is the quickest to use
Screenshots
With 'Persistent List' view style (default)
With 'Quick Panel' view style
Installation
- Install the Sublime Text Package Control plugin if you don't have it already
- Open the command palette and start typing
Package Control: Install Package
- Enter
DiffView
Usage
- See options under “DiffView” in the Command Palette, and also the following keyboard shortcuts
Alt + Shift + D
to run a diff- Enter the diff to run, and hit enter
- See below for supported diff options
- This lists all the changes, and shows you a preview as you move down the list
- You can search for a particular file in the list of changes, which will filter the results
- Hit
Enter
to jump to the currently selected change - hit
Esc
to cancel the DiffView, and return to where you were
- Enter the diff to run, and hit enter
Alt + D
to review the last diff- This will show the list of changes from the last diff, starting from the last change you previewed
Supported Diff Options
Git
- Default (when there's no input): comparison of wc against
HEAD
- i.e. show unstaged changes HEAD
orbranch
orSHA
ortag
- compare working copy against
HEAD
/branch
/SHA
/tag
- compare working copy against
branch..
- compare
branch
with wc
- compare
..branch
- compare working copy with
branch
- compare working copy with
branch_a..branch_b
- compare
branch_a
withbranch_b
- compare
branch...
- compare the merge-base of the working copy and
branch
with the working copy
- compare the merge-base of the working copy and
branch_a...branch_b
- compare the merge-base of
branch_a
andbranch_b
withbranch_b
- compare the merge-base of
SVN
- Default (when there's no input): show uncommitted changes
-r 123
- compare revision 123 with the latest revision (not the working copy)
-r 123:234
- compare revision 123 with revision 234
-c 234
- show changes made in commit 234
--cl issue1234
- show uncommitted changes on changelist
issue1234
- show uncommitted changes on changelist
Bazaar
- Default (when there's no input): show the difference in the working tree versus the last commit
-r1
- Show changes between the working tree and revision 1
-r1..3
- Show changes between revision 1 and revision 3
-r1..3 xxx
- Show changes between revision 1 and revision 3 for branch xxx
-c2
- Show the changes introduced by revision 2 (equivalent to
-r1..2
)
- Show the changes introduced by revision 2 (equivalent to
-r-2..
- Show the changes between the current revision and the previous revision (equivalent to
-c-1
and-r-2..-1
)
- Show the changes between the current revision and the previous revision (equivalent to
FILE
- Show just the differences for
FILE
- Show just the differences for
xxx/FILE
- Show the differences in working tree xxx for
FILE
- Show the differences in working tree xxx for
--old xxx
- Show the differences from branch xxx to this working tree
--old xxx --new yyy FILE
- Show the differences between two branches for
FILE
- Show the differences between two branches for
Configuration Options
Diff View Style
There are 2 different view styles supported - “Quick Panel” and “Persistent List”. You can see them in action in the screenshots above. Try them both and pick a favourite!
{
// The style for viewing the diff. Options are:
// - "quick_panel"
// - "persistent_list"
"view_style": "persistent_list"
}
Highlighting Styles
Each of the highlihgted regions' styles can be configured in the settings. These settings are all documented in the 'Default' settings (Preferences -> Package Settings -> DiffVew -> Settings - Default
). Copy the settings to your User settings (Preferences -> Package Settings -> DiffVew -> Settings - User
) to override the defaults.
Collapsing Changes List
When working with the “Persistent List” view, to save space there's a configuration option to collapse the list of changes for each file. Toggle the details for the file using Tab
(by default).
To configure:
{
// Whether to collapse each file's list of changes in the "persistent_list" view.
"collapse_diff_list": true,
}
Invoking From Another Plugin
window.run_command(
"diff_view",
{
"diff_args": "origin/your-base...origin/your-branch",
"cwd": "/your/cwd",
},
)
Contributors
Thanks to the following for their contributions:
- @3v1n0 for adding Bazaar support
- @leeahoward for raising and providing the fix for #48
- @rkoval for adding an entrypoint for other plugins to use programmatically #65
Feedback
If you have any issues, comments, or feature suggestions, please raise them on GitHub. All feedback gratefully received.