I've got a file that's been branched a few times and I would like to see it's full history in the History tab in P4V. Perforce has this data as I can do a timelapse view of the file with "Use branch history" and see all the previous versions of the file (as I'd expect). Is there an option somewhere in P4V to show this branch history, or history of a file across branches? It'd be rather useful.
In the upper right corner of the File History pane there's a "branch history" dropdown (it's the same icon as the "Show Branch History" button in Time-Lapse View). Click that, and check the option to "Follow Branch Actions". This will make File History follow the linear history of a file backward through "branch from" relationships, exactly as happens in Time-Lapse View when "Show Branch History" is enabled.
Related
When I use Gitlens in VScode, I cannot find an option to compare commits on a file when they are not consecutive. If I use 'open changes' on a certain commit in the 'File History' panel, it always compares that version of the file with the previous one. Is there a way to choose to compare one revision of the file (and not necessarily the latest revision) with another revision of my choosing of that file?
You can compare two nonconsecutive commits via the following steps (assuming you have the Gitlens extension installed):
Source Control tab (or Gitlens tab) -> Open the Branches menu.
From the branches menu -> Open the branch of interest.
Right click on a particular commit and select "Select for Compare"
Similarly, find the other commit you're interested in, right click and select "Compare with Selected"
You will see that under the "Search & Compare" menu, your two different commits are compared.
edit note: you might not see a Gitlens tab anymore as it was (optionally) merged with the Source Control tab, in version 11.2.1.
First, install gitlens plugin
Second, press F1, input gitlens:compare references
Third, input 1st commit hash and 2nd commit hash
Then, in the right side bar, find SEARCH & COMPARE
You will find the two commits' diff details
You can do this without Gitlens:
Right click on the file
Choose "Commit Changes"
Choose "Open Changes with Revision..."
Then choose the commit you want to compare your file with.
One way is to checkout one of the commits you want to diff in terminal
git checkout <commit_hash>
and the select the other comit in gitlens, click open changes to see diff.
Now I have commit dialog in dock mode:
Version 2019.2 EAP
From https://blog.jetbrains.com/webstorm/2019/06/webstorm-2019-2-eap-4/
In WebStorm 2019.2, we are merging the Commit dialog with the Local Changes tab. That way, the commit action can nicely fit in the flow of reviewing the changes you’ve made in this tab. And you can always jump back to the editor, whereas with the old Commit dialog you had to close it first.
The familiar Commit shortcut (Cmd/Ctrl-K) will now select all the modified files for the commit and focus on the Commit message field.
Solution:
We understand that this new feature can affect your current familiar workflow. If you’d like to switch back to the old Commit dialog, simply deselect the Commit from the Local Changes without showing a dialog checkbox in Settings/Preferences | Version Control | Commit Dialog.
In latest Version it now,
Settings > Version Control > Commit ,
Uncheck first option "Use non-modal commit interface"
You probably know this window where you can see the diffs between a commit to ONE commit older.
Do you know how can I see exactly the same comparison, but between a commit and a previous commit which is not necessarily ONE before the current one.
I know that I can do it per one file, but I want to do it for the whole project.
You can select any number of commits in the git log window (using shift/ctrl and click or cursor keys) and the right-hand pane will show the cumulated differences.
In IntelliJ, there is no command or action to compare exact revisions, unfortunately.
Here are couple related requests:
https://youtrack.jetbrains.com/issue/IDEA-125616 and https://youtrack.jetbrains.com/issue/IDEA-100431
However, there is a way to see what has changed between two commits. To do so you need to go to the Version control - Log tab and select the entire range between wanted commits (e.g select the later commit, then scroll down to the older commit and click on it with Shift). In the right pane showing changed files you will see all the changes.
Another way to do it:
Open the 1: Project panel
Right-click your project's root folder
Select Git → Show History from the menu
This opens up a completely different view of the git log, where you can do exactly what you'd expect to be able to from the main (9: Version Control) git log... namely:
Select (only!) two commits
Click Compare
From the pop-up dialog that appears, you can select any file and press Ctrl-/Cmd-D (or right-click and select the only menu item) to see the changes.
Unfortunately, there doesn't seem to be any way to "pin" that view to your workspace, though it hovers on top as long as you need it.
Hopefully one day JetBrains will create a "best of both worlds" merged version of these UIs, so we can just compare stuff from the main Version Control log. To add to the list of JetBrains tickets for this issue listed in another answer... the oldest one appears to be https://youtrack.jetbrains.com/issue/IDEA-86480
Also in CLion (I think in other JetBrains IDE-s it's the same):
open VCS log
filter VCS log via other branch (e.g., personal/sherstennikov/krt-23941)
top n commits must be the range on other branch we want to diff against current branch
select other branch HEAD with left click
right click on it
select in menu 'Branch ' (e.g.: Branch 'personal/sherstennikov/krt-23941')
expand via arrow on the right and click 'Compare with Current'
you get a window (see pic) 'Comparing with in root '
top left pane contains range of commits from other-branch
bottom left pane contains log of current-branch
right pane contains list-of-files-which-differ between commit/several-selected-commits (if range selected, list of files is cumulative) in other-branch and HEAD (or maybe selection) in current-branch
now you can click on file in right pane to get it's diff between selected versions in a separate window (let's call it file-diff-between-other-and-current-window)
10.also in file-diff-between-other-and-current-window right on the left of unified/side-by-side viewer selector, there's a control to switch between files in the aforementioned list-of-files-which-differ
I know this is a foolish question. When I do a git compare (Project -> Right click -> Compare with), comparison opens in Synchronization panel instead of Compare window panel.
I am unable to understand git synchronization and thus not able to compare my branches.
I don't want git synchronization window panel. I need a git compare tree panel.
Please Help
The synchronization (since Egit 3.1) is for the difference between the working tree (including not committed changes) and a branch or tag.
As mentioned in "Compare editor and Synchronize View":
If you use any of the submenu actions of Compare With on a single file, a compare editor will be shown, otherwise (since EGit 3.1) the Synchronize View will be opened that lets you browse the changes;
by double-clicking on a changed file in this view, a compare editor will be opened for this file.
In the toolbar of the Synchronize View you can select the Sychronize Model you want to use for presenting the changes you are inspecting.
To get only a compare view, you can also follow the section "Compare working tree with last commit":
The difference between a resource in the current working directory and in the last commit in the current branch can be viewed from the context menu Compare With > HEAD revision.
This feature is also available in the Commit dialog.
Double clicking on an entry in the Commit dialog opens a compare dialog.
I'm trying to highlight all changes in the code since a particular revision (we use svn). It looks like I can use Show Annotations on a particular file, but is there a way (either natively in Eclipse or with a plugin) to hihglight all changes since revision X?
You can display the changes between revisions of a project/file/folder from the history view.
Right Click on the project/file/folder and select Team->Show History.
In the History View click on the start revision.
CTRL click on the end revision. (In your case the latest)
Right click on the head revision and select Compare...
Click OK in the Compare window.
Eclipse should open a new tab in your editor displaying the differences between the selected revisions.