-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hide CommitInfo panel for virtual commits #4096
Hide CommitInfo panel for virtual commits #4096
Conversation
How about hiding the commit info tab? |
The tab is already hidden. If not in current master, then in other PRs. |
Confirming that Commit info tab is already hidden. |
I'm getting confused with so many open related PRs... 🤕 Further to my comment #4084 (comment). I definitely getting a noticable lag navigating from a normal commit to an artificial one. Looking at the log, it takes about 800-900ms (combined) to collect data for the artificial commit and 600-700ms for the normal one. |
I am confused by submitting the PRs... For the delay, I do not see any extra delay normal->artificial caused by this PR or #4084. The handling can certainly be improved, for instance no point to ask for changed files if FileSystemWatcher has not reported any changes. |
I am confused by submitting the PRs...
It is hard to find what is submitted and not too.
Perhaps if you slow down a little bit and do one thing at time, we could
get through things faster :)
I know it is frustrating, I'm pretty much in the same boat with my
refactors - things are piling, but that's the order of things.
Thanks for the hard work, it is appreciated.
…On 26/10/2017 5:51 PM, "Gerhard Olsson" ***@***.***> wrote:
I am confused by submitting the PRs...
It is hard to find what is submitted and not too. (I cannot even commit
the major thing I want to change, diff artificial to normal commits while
all other changes are pending.)
For the delay, I do not see any extra delay normal->artificial caused by
this PR or #4084
<#4084>.
Any hints how to reproduce?
You have certainly much longer update times than I can reproduce. What is
your system setup?
The handling can certainly be improved, for instance no point to ask for
changed files if FileSystemWatcher has not reported any changes.
I plan to look into the efficiency after this block of PRs are handled.
The solution will add to the complexity though.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#4096 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AEMyXureUfthwJbaLK2QSCiBMorz-Peeks5swCvngaJpZM4QFI0T>
.
|
You have certainly much longer update times than I can reproduce. What is
your system setup?
That's on my work laptop which has decent specs on paper (i.e. 16G of ram).
But then W8.1 we get is run in a virtual machine and it hamstrung by mcafee
antivirus and other corporate bloatware....
I'll try it home on few other computers to see the difference.
…On 26/10/2017 5:51 PM, "Gerhard Olsson" ***@***.***> wrote:
I am confused by submitting the PRs...
It is hard to find what is submitted and not too. (I cannot even commit
the major thing I want to change, diff artificial to normal commits while
all other changes are pending.)
For the delay, I do not see any extra delay normal->artificial caused by
this PR or #4084
<#4084>.
Any hints how to reproduce?
You have certainly much longer update times than I can reproduce. What is
your system setup?
The handling can certainly be improved, for instance no point to ask for
changed files if FileSystemWatcher has not reported any changes.
I plan to look into the efficiency after this block of PRs are handled.
The solution will add to the complexity though.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#4096 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AEMyXureUfthwJbaLK2QSCiBMorz-Peeks5swCvngaJpZM4QFI0T>
.
|
I've run it on my desktop and I do not get any significant performance issues. Everything is in order of magnitude faster than on my work laptop |
Sidenote: But do you still believe that there is a performance problem introduced by this or any related PRs? |
I could update the patch similar to below, to handle "restart required" |
Yes, AV is a constant headache for devs at work... and security people aren't very engaging What do you think about the following:
@jbialobr - thoughts? PS: do it as a separate piece of work though, if this is something we want to pursue [edit] |
EEEWW mcafee. That crap doesn't play nice at all with a ton of
applications and is a sieve. I don't envy you.
…On Thu, Oct 26, 2017 at 7:00 PM RussKie ***@***.***> wrote:
Yes, AV is a constant headache for devs at work... and security people
aren't very engaging
Let's park the performance for now and concentrate on the UI
What do you think about the following:
- if a user attempts to change the value of "Show the commit info on
the right" - either check or uncheck - we ask the user if they wish to
apply changes and restart
- if the users agrees - save changes and restart the app
- if not - reset the value to what it was
@jbialobr <https://github.com/jbialobr> - thoughts?
PS: do it as a separate piece of work though, if this is something we want
to pursue
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#4096 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ADdhsY4hYzawBN8sccgLlq-U9FgJ5t6sks5swQ8qgaJpZM4QFI0T>
.
|
I am sorry for a late reply, but recently I don't have much free time. Generally I don't like the idea of disappearing tabs and panels that change the layout of other controls. If you hide that panel the revisions grid will resize causing to many visual changes. As for hiding tabs, if you hide one and then go to a commit that causes showing it again then if the hidden tab was originally selected then after showing it the selection should be restored. Otherwise it is a bad UX. |
If you want to put some effort here, it is better to make it not requiring a restart. |
that's an option too :) |
We are sort of between a hard place and an anvil....
Should we perhaps stop pursuing this on v2 branch and have it implemented
on v3 branch (see #4037)?
…On 27 October 2017 at 14:26, Janusz Białobrzewski ***@***.***> wrote:
I am sorry for a late reply, but recently I don't have much free time.
Generally I don't like the idea of disappearing tabs and panels that change
the layout of other controls. If you hide that panel the revisions grid
will resize causing to many visual changes. As for hiding tabs, if you hide
one and then go to a commit that causes showing it again then if the hidden
tab was originally selected then after showing it the selection should be
restored. Otherwise it is a bad UX.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#4096 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AEMyXqAXcw1gihSalk2uhdKiUXMvNd0dks5swU1jgaJpZM4QFI0T>
.
|
Yes, unfortunately we are subjected to this torture...
…On 27 October 2017 at 14:21, Jay Asbury ***@***.***> wrote:
EEEWW mcafee. That crap doesn't play nice at all with a ton of
applications and is a sieve. I don't envy you.
On Thu, Oct 26, 2017 at 7:00 PM RussKie ***@***.***> wrote:
> Yes, AV is a constant headache for devs at work... and security people
> aren't very engaging
> Let's park the performance for now and concentrate on the UI
>
> What do you think about the following:
>
> - if a user attempts to change the value of "Show the commit info on
> the right" - either check or uncheck - we ask the user if they wish to
> apply changes and restart
> - if the users agrees - save changes and restart the app
> - if not - reset the value to what it was
>
> @jbialobr <https://github.com/jbialobr> - thoughts?
>
> PS: do it as a separate piece of work though, if this is something we
want
> to pursue
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub
> <#4096 (comment)-
339824879>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-
auth/ADdhsY4hYzawBN8sccgLlq-U9FgJ5t6sks5swQ8qgaJpZM4QFI0T>
> .
>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#4096 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AEMyXoxON8wV19qNUknqV8yZ41IDncQuks5swUw1gaJpZM4QFI0T>
.
|
The setting is now dynamic |
…-formbrowse-diffmenu-artificial-submodule This basically drops the changes in GitUI/CommandsDialogs/FormBrowse.cs (and Designer) One minor part handled in gitextensions#4096 Other changes will be handled in a new PR
Works nicely, even on Linux, good job. Two things though: |
|
GitUI/CommandsDialogs/FormBrowse.cs
Outdated
@@ -1073,25 +1082,44 @@ internal enum UpdateTargets | |||
private UpdateTargets _selectedRevisionUpdatedTargets = UpdateTargets.None; | |||
private void RevisionGridSelectionChanged(object sender, EventArgs e) | |||
{ | |||
if(_ShowRevisionInfoNextToRevisionGrid != AppSettings.ShowRevisionInfoNextToRevisionGrid.ValueOrDefault) | |||
{ | |||
_ShowRevisionInfoNextToRevisionGrid = AppSettings.ShowRevisionInfoNextToRevisionGrid.ValueOrDefault; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't all other references to AppSettings.ShowRevisionInfoNextToRevisionGrid.ValueOrDefault
be replaced with _ShowRevisionInfoNextToRevisionGrid
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This checks if the setup has changed since last time and refreshes the layout if so. It may be possible to always refresh the layout, but then the position etc should be remembered.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
my questions was about use of AppSettings.ShowRevisionInfoNextToRevisionGrid.ValueOrDefault
in the code. my understanding that all references should be replaced with _ShowRevisionInfoNextToRevisionGrid
(i.e. gerhardol/gitextensions@4ca3e3c)
@gerhardol please have a look gerhardol@4ca3e3c Essentially I just squashed your PR (made it easier to review) and tweak the setting to work for Windows only. |
@RussKie I do not see the commit when cloning. What have I missed in Git setup? I have therefore only viewed the changes, seem OK to me and should be mergable, but I would be more confident if I could compare to what I tested myself. |
They are on my fork.
I didn't want to force push into your fork and I couldn't send a pr to your
fork because of gh's interface
…On 08/11/2017 8:57 AM, "Gerhard Olsson" ***@***.***> wrote:
@RussKie <https://github.com/russkie> I do not see the commit when
cloning. What have I missed in Git setup?
I have therefore only viewed the changes, seem OK to me and should be
mergable, but I would be more confident if I could compare to what I tested
myself.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4096 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AEMyXoxMrhHV7CVYe4Q7j2boHB1nYCVPks5s0NJKgaJpZM4QFI0T>
.
|
After your change yes, no longer nullable
Den 8 nov. 2017 03:19 skrev "RussKie" <notifications@github.com>:
… ***@***.**** commented on this pull request.
------------------------------
In GitUI/CommandsDialogs/FormBrowse.cs
<#4096 (comment)>
:
> @@ -1073,25 +1082,44 @@ internal enum UpdateTargets
private UpdateTargets _selectedRevisionUpdatedTargets = UpdateTargets.None;
private void RevisionGridSelectionChanged(object sender, EventArgs e)
{
+ if(_ShowRevisionInfoNextToRevisionGrid != AppSettings.ShowRevisionInfoNextToRevisionGrid.ValueOrDefault)
+ {
+ _ShowRevisionInfoNextToRevisionGrid = AppSettings.ShowRevisionInfoNextToRevisionGrid.ValueOrDefault;
my questions was about use of AppSettings.ShowRevisionInfoNextToRevision
Grid.ValueOrDefault in the code. my understanding that all references
should be replaced with _ShowRevisionInfoNextToRevisionGrid (i.e.
***@***.***
<gerhardol@4ca3e3c>)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4096 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AF9Z5FLW9etqB4LyiATC7Y3pcNuYkueTks5s0Q-fgaJpZM4QFI0T>
.
|
In such cases GitExtensions GitHub plugin comes with a rescue. I was not able to send a PR to your fork using GH web page, but GitExtensions had no problem with that. |
Still AppSettings though
Den 8 nov. 2017 08:18 skrev "Gerhard Olsson" <gerhard.nospam@gmail.com>:
… After your change yes, no longer nullable
Den 8 nov. 2017 03:19 skrev "RussKie" ***@***.***>:
> ***@***.**** commented on this pull request.
> ------------------------------
>
> In GitUI/CommandsDialogs/FormBrowse.cs
> <#4096 (comment)>
> :
>
> > @@ -1073,25 +1082,44 @@ internal enum UpdateTargets
> private UpdateTargets _selectedRevisionUpdatedTargets = UpdateTargets.None;
> private void RevisionGridSelectionChanged(object sender, EventArgs e)
> {
> + if(_ShowRevisionInfoNextToRevisionGrid != AppSettings.ShowRevisionInfoNextToRevisionGrid.ValueOrDefault)
> + {
> + _ShowRevisionInfoNextToRevisionGrid = AppSettings.ShowRevisionInfoNextToRevisionGrid.ValueOrDefault;
>
> my questions was about use of AppSettings.ShowRevisionInfoNe
> xtToRevisionGrid.ValueOrDefault in the code. my understanding that all
> references should be replaced with _ShowRevisionInfoNextToRevisionGrid
> (i.e. ***@***.***
> <gerhardol@4ca3e3c>)
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#4096 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AF9Z5FLW9etqB4LyiATC7Y3pcNuYkueTks5s0Q-fgaJpZM4QFI0T>
> .
>
|
??? |
7895210
to
4ca3e3c
Compare
* Hide CommitInfo panel for virtual commits - it has no information for staged/unstaged, just blank * Make setting for "Show commit next to revision" dynamic (not requiring a restart)
4ca3e3c
to
3c4d937
Compare
Just to finish the discussion (after a long day at work): But setting the same value that already existdoes not seem to cause "flickering for me at least. |
It has no information for staged/unstaged, just blank
It should later be used for commit without a popup as discussed in #4031 etc
Discussed in #4031
Changes proposed in this pull request:
Screenshots before and after (if PR changes UI):
How did I test this code:
Has been tested on (remove any that don't apply):