DiffView
Side-by-Side Git, SVN and Bazaar Diff Viewer for Sublime Text 3
Details
Installs
- Total 31K
- Win 13K
- Mac 11K
- Linux 6K
Jul 27 | Jul 26 | Jul 25 | Jul 24 | Jul 23 | Jul 22 | Jul 21 | Jul 20 | Jul 19 | Jul 18 | Jul 17 | Jul 16 | Jul 15 | Jul 14 | Jul 13 | Jul 12 | Jul 11 | Jul 10 | Jul 9 | Jul 8 | Jul 7 | Jul 6 | Jul 5 | Jul 4 | Jul 3 | Jul 2 | Jul 1 | Jun 30 | Jun 29 | Jun 28 | Jun 27 | Jun 26 | Jun 25 | Jun 24 | Jun 23 | Jun 22 | Jun 21 | Jun 20 | Jun 19 | Jun 18 | Jun 17 | Jun 16 | Jun 15 | Jun 14 | Jun 13 | Jun 12 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 5 | 3 | 1 | 2 | 0 | 5 | 5 | 1 | 4 | 1 | 4 | 0 | 0 | 4 | 1 | 2 | 2 | 1 | 0 | 0 | 0 | 3 | 3 | 1 | 6 | 1 | 0 | 0 | 5 | 0 | 3 | 5 | 0 | 0 | 3 | 5 | 2 | 2 | 3 | 0 | 2 | 1 | 2 | 5 |
Mac | 0 | 2 | 5 | 0 | 3 | 6 | 0 | 0 | 1 | 2 | 1 | 1 | 3 | 1 | 0 | 2 | 4 | 2 | 2 | 0 | 0 | 1 | 1 | 0 | 2 | 4 | 2 | 1 | 0 | 2 | 1 | 4 | 5 | 6 | 1 | 0 | 0 | 2 | 0 | 0 | 1 | 1 | 0 | 3 | 1 | 1 |
Linux | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 3 | 1 | 1 | 0 | 2 | 0 | 3 | 1 | 2 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 1 | 1 | 0 | 2 | 0 | 1 | 0 | 1 | 0 |
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.