Your comments

Finilly, right panel should have both all Revert features and all Stage features.

Hooks' essense is automatic execution. Manual way (additional button) would not be so helpful. Don't add the button.

It seems developers don't exactly know how to get rid of multiple unneeded triggering of a hook when, for example, Commit area gains/looses focus three times, leading to message like this:
TCKT-56536: TCKT-56536: TCKT-56536:
when this was expected:

Thanks, I found it.

Why did you decide to disallow this feature in a Compact mode?

If the line you want to jump to is hidden it could be shown before jump performed (the same behavior as if you would click the hidden area of lines).

Or it conflicts with current architecture?

Simple use case: user can work with multiple editors simultaneously (SSMS, notepad++ and additionally use SmartGit as a "changes-viewer").

He knows the certain line of code from SSMS and want to jump close to this line of code in SmartGit to observe what's changed around this line (function).
I use Compact mode nearly all the time and find this feature very helpful.

I've just checked it out on 23.1 RC 4.
It works in "File compare" window but not in Changes-panel (I mentioned "panel" in a topic in my initial request).
Please add it to this panel:

Image 813

> why you need this feature?

For fast file search, small changes or copy-paste some part of code in source code files, edited recently.
I remember what I changed recently but don't actually remember which commit or file contains it.

When the commit contains a lot of files edited, I need to filter out files with unneeded changes and find only those containing a keyword (table name, view, stored procedure). I don't want to look into each file in each commit to find a match.
If the file is what I looked for I can open it in editor without starting IDE and modify it, or copy-paste some query to give to a collegue.
But I understad what you mean. Maybe I will try to find any alternative for that.

In general, desired behavior for me and many other users could be:

1. apply these button-filters first:

Image 804

2. only after that, search by a content of the files that remain after previous step. In this case it doesn't matter if working tree is selected in Graph-panel, or a certain commit in Graph-panel is selected or two commits in Graph-panel are selected for comparison.

In all three cases the search will be performed within the files remained on previous step (as now it is shown in Files-panel).

3. After searching by a content completed, only files with matches should be presented in Files-panel.

4. [perhaps this step should be put in a separate feature request] After clicking each remaining file in Files-panel, the found matches should be highlighted by yellow color in source code in "Changes-panel". The idea of highlighting is presented here:

5. The matches in text should be highlighted also in "File Compare"-window (i.e. right click the file in File-panel -> "Show changes" menu).

Additional notes about behavior for each kind of files:

For deleted files: search should be performed on a version of a file before deletion obviously (of course, if the file is not filtered out from Files-panel somehow on previous step).

For renamed files: for performance reasons, search can be performed on any of two files, but matches in text should be shown in both of them (renamed files are identical by a content so there is no need to search by its content twice).

For added files: obviously search in added file should be done.

For changed files: search should be done in both files. If match found in one of them the file should remain in a list of files in Files-panel.

For untracked files (if working tree is selected in Graph-panel):

search should be performed by a content of untracked file (of course, if the file is not filtered out from Files-panel somehow on first step).

Ideally [it also maybe be put in a separate feature request], search by a content should be applied together with search by a filename. For example, user could search for a content "hello world" only in files with names: "*Test.cs".

It could be done with a keyword like this:

@content:"hello world" @filename:*Test.cs

This method will improve the search function and give an opportunity to improve it in the future.

Feel free to ask any additional information to clarify this request in future.

This issue was initially about Changes-window in the bottom of the main window.
Please also add similar feature to stage/unstage certain hunks in a separate Changes-window opened by right click on a file - "Show changes" menu item in all modes: (Index vs Working Tree), (HEAD vs Index).

I recommend to send bug report to Git:

They receive it using mailing list:

Multithreading today is necessity due to new processors with many cores and constantly increasing workload.
Today we cannot allow intensive CPU-related work to use only 1 worker thread when we have 32 available (for example).

I also want to explain why should I ask for that.
My overall goal is to move through changes in "Changes" window and make use of keyboard hotkeys to stage/unstage (or revert) the next change (instead of clicking small buttons "Stage hunk", "Revert hunk" in a splitter).