Skip to content
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

Git source control is showing the whole history under "Incoming/Outgoing" when the working tree is clean #224517

Closed
ejohnson-dotnet opened this issue Aug 1, 2024 · 54 comments
Assignees
Labels
feature-request Request for new features or functionality on-testplan scm General SCM compound issues
Milestone

Comments

@ejohnson-dotnet
Copy link

Does this issue occur when all extensions are disabled?: Yes

  • VS Code Version: 1.92.0
  • OS Version: Windows and Linux

Steps to Reproduce:

  1. Open a folder with a git repo in VS Code
  2. Click on the Source Control side tab.
  3. Under the "Incoming/Outgoing" it will show the whole history, even when git status shows "Your branch is up to date" and "nothing to commit, working tree clean"

It used to show only the commits which really needed to be pushed or pulled.

@gjsjohnmurray
Copy link
Contributor

Did you see https://code.visualstudio.com/updates/v1_92#_incomingoutgoing-changes-graph about the new history graph which is the default since 1.92 released today?

@saschwarz
Copy link

@gjsjohnmurray thanks for the link. I came here looking to find out how to turn it off.

The release notes say tell us how you like it. Not sure where to do that. I would have loved it if it was in a collapsible/accordion section like all the others. I really only want to see commits that aren't yet pushed/pulled all the time (like it used to do).

The section naming is now misleading; I'd expect "Incoming/Outgoing" to be empty once I've pulled/pushed(?)

Would it be possible to describe use case(s) where a dev would want to see historical commits all the time? Maybe I'm using git in an unusual manner(?)

@timothycohen
Copy link

timothycohen commented Aug 1, 2024

I do appreciate the feature, but I'd agree that it really should be an accordion section. Scrolling through the staging area now flies off into the commit history instead of hitting a hard stop at the last unstaged file.

@deflis
Copy link

deflis commented Aug 2, 2024

I welcome the feature to display the Git Commit Graph as it is something I have wanted for a long time. However, I strongly believe that these should be displayed as an independent section like GitLens and not within the Source Control.

@mercury233
Copy link

What is more, it show up on a repo which I'll never pull or push, no upstream set.
#224539

@georgerdpdmg
Copy link

georgerdpdmg commented Aug 2, 2024

I have the same issue. Would be nice to be able to toggle off or hide, is very invasive at the moment.

Version: 1.92.0 (Universal)
Commit: b1c0a14
Date: 2024-07-31T23:26:45.634Z (1 day ago)

**@** ------- % git status
On branch feat/-----
Your branch is up to date with 'origin/feat/------'.

nothing to commit, working tree clean
**@** -------  % 
Screenshot 2024-08-02 at 09 41 08

@FilippoLeon
Copy link

If you have many changes, this slows down VS Code incredibly too.

@gjsjohnmurray
Copy link
Contributor

@georgerdpdmg the scm.showHistoryGraph setting will turn it off.

@lszomoru lszomoru added scm General SCM compound issues under-discussion Issue is under discussion for relevance, priority, approach labels Aug 2, 2024
@lszomoru
Copy link
Member

lszomoru commented Aug 2, 2024

Thank you all for the feedback! The thinking behind showing the changes in the main Source Control view is that these changes are related to your inner loop (outgoing changes, incoming changes, and changes to the base branch in case one exists).

I hear you that this information can be distracting if you are used to the Source Control view being empty when there are no pending changes. We are considering making the section collapsible though if we were to collapse it, I would rather move this information into a separate view.

Please keep the feedback coming. Thank you!

@ricardograca-scratch
Copy link

Can this be made opt-in? It's really hard to read, adds clutter to the UI, I have no idea what it's showing me and adds no value to me on a first glance. Maybe if I was looking for it specifically it would be useful, but as is it's just distracting.

@gjsjohnmurray
Copy link
Contributor

@ricardograca-scratch please see https://code.visualstudio.com/updates/v1_92#_incomingoutgoing-changes-graph for mention of the setting to disable it.

@georgerdpdmg
Copy link

georgerdpdmg commented Aug 2, 2024

@gjsjohnmurray Thank you, much better now with "scm.showHistoryGraph": false
For anyone else not knowing where to add the setting, see below:
Screenshot 2024-08-02 at 12 32 08

Thank you @lszomoru, if in a future release is going to become UI toggle-able I will enabled it back because it has value.
I've got depressed when I realised how many commits I have on my feature branch, blame css (or my lack of css expertise) haha

@quyvsquy
Copy link

quyvsquy commented Aug 2, 2024

Ya, i dont like this feature.
You can turn off by add to settings.json with "scm.showHistoryGraph": false,

@bravo-stack
Copy link

@gjsjohnmurray thanks for the link. I came here looking to find out how to turn it off.

The release notes say tell us how you like it. Not sure where to do that. I would have loved it if it was in a collapsible/accordion section like all the others. I really only want to see commits that aren't yet pushed/pulled all the time (like it used to do).

The section naming is now misleading; I'd expect "Incoming/Outgoing" to be empty once I've pulled/pushed(?)

Would it be possible to describe use case(s) where a dev would want to see historical commits all the time? Maybe I'm using git in an unusual manner(?)

Same here. It just felt all cumbersome and poorly organized.

@Matthijs2023
Copy link

@lszomoru It seems to have performance issues.

I upgraded today to v1.92.0 and had a couple times that VSC was (temporary) unresponsive when switching/merging branches.
Turning the showHistoryGraph setting off solved it. I think if there are too many merges, it has performance issues. Maybe the graph should be cut off and only loading the last 25 merges with a load more button.

Also I think it's confusing to see this graph in the same spot where you normally only see the differences with the remote branch. I think it would be better if it's separate (like the timeline in the explorer).

@mateo-morales-garcia-gamecoderstudios

I was using it before, but after the update it feels slower, probably because now shows too the main branch where there are lots of merge commits 🤔

@siegelaaron94
Copy link

A toggle icon here
Screenshot 2024-08-02 120757

And a tree expand/collapse control here
Screenshot 2024-08-02 121045

These changes would make it so I would use this feature and not just turn it off and forget about it. As a default, it's just too much noise, but it is an excellent feature in general when you do need it.

@ChrisMaunder
Copy link

I have about 15 repos all under the same workspace. This makes that tab incredibly noisy and hard to navigate without adding any value to my workflow. Why on earth wasn't there a simple "hide" button added when this was released?

Further: on the first repo the history spans 6 "pages" on that sidebar. The other repos show far less, but interestingly, when I've done a sync on the other repos the history disappears (yay). And yet the 6 pages of pointless history on the first repo is always shown

PLEASE let us hide this. It's absolutely killing my productivity and I'm finding I'm making mistakes having to hunt through the jungle.

@ChrisMaunder
Copy link

the scm.showHistoryGraph setting will turn it off.

@gjsjohnmurray I owe you a beer.

@rwestbrock-24hf
Copy link

Thanks for sharing that setting to disable it but it would be better if we could toggle it right in the source control panel instead. I liked how it worked before where I would see my outgoing commits before pushing them as it gave me visibility without making the list take up the entire panel like it does now.

@MN7
Copy link

MN7 commented Aug 3, 2024

To those who want to toggle this 'History Graph' off:

Disable this scm.showHistoryGraph by going to settings (Press Ctrl + , on windows, and simply search for scm.showHistoryGraph).

Search tags (hopefully to help other developers searching about this feature):
vs code, incoming / outgoing, incoming outgoing, incoming, outoing, left side panel, graph, performance degradation, latest update, july 2024

@Buedenbender
Copy link

Is there somehow the option to limit the number of entries in the history? I would like something like a head (top 5) or configurable via settings to the top x.

@LepkoQQ
Copy link

LepkoQQ commented Aug 5, 2024

I agree with others who say that this is too noisy and should at lease be collapsible, if not disabled by default.

I was searching around for the option to disable and now that I've disabled it it's way better and I can focus on actual code that is not yet pushed or pulled.

I agree that it can be useful, but either collapsed or in another view.

@Paul-Hatcher
Copy link

I've just come across this change today. I have to say as per comments here it's noisy/confusing . I'm also unsure of any actual use case where it would be in any way useful. Should have been an opt in for those that want vscode clutter.

@mortenlerudjordet
Copy link

I do like it, though MUST add something that limits how many history entries are shown for each repo.
Something like "scm.historyGraphLength" : 10

@MikeRich88
Copy link

When this feature is on, it obfuscates the list of outgoing changes that I need to push.

Rating 0/10

@sovetski
Copy link

Did you see https://code.visualstudio.com/updates/v1_92#_incomingoutgoing-changes-graph about the new history graph which is the default since 1.92 released today?

Thank you for the link. After deactivating it, everything is working fine again.

I don't understand why features like this are applied by default. It leads to a very bad user experience.

@huyz
Copy link

huyz commented Aug 19, 2024

I don't understand why features like this are applied by default

Maybe they need more users testing the Insiders edition to yell early.

@lszomoru lszomoru added this to the August 2024 milestone Aug 19, 2024
@lszomoru
Copy link
Member

Thanks again for all the feedback. In the latest VS Code Insiders release we have added multiple options to easily hide the history graph: 1) right click on any empty space in the "Source Control" view, and use the "Show Incoming/Outgoing Changes" action,
2) the ... menu in the section header contains the "Show Incoming/Outgoing Changes" action,
3) the ... menu of the "Source Control" view contains the "Show Incoming/Outgoing Changes" action user the "View & Sort" submenu.

We are also evaluating moving this information into a separate view.
Will continue to update this issue with the work happening to address the feedback.

@starjet
Copy link

starjet commented Aug 19, 2024

Thanks again for all the feedback. In the latest VS Code Insiders release we have added multiple options to easily hide the history graph: 1) right click on any empty space in the "Source Control" view, and use the "Show Incoming/Outgoing Changes" action, 2) the ... menu in the section header contains the "Show Incoming/Outgoing Changes" action, 3) the ... menu of the "Source Control" view contains the "Show Incoming/Outgoing Changes" action user the "View & Sort" submenu.

We are also evaluating moving this information into a separate view. Will continue to update this issue with the work happening to address the feedback.

I'll be honest here. The most sensible change to do here is just make this not be enabled by default. People who have a small number of commits can turn it on if they so wish, and those who have a large number of commits won't immediately have their senses assaulted by it.
But it's definitely a step in the right direction to make it easier to turn off, so thanks for that at least.

This was referenced Aug 19, 2024
@thoroc
Copy link

thoroc commented Aug 19, 2024

Please make it a opt-in, this is definitely annoying enough that people sought how to disable it despite the fact that the user isn't being prompted for any preferences regarding this option.

@ptankov
Copy link

ptankov commented Aug 20, 2024

I would rather move this information into a separate view.

YES!

@et304383
Copy link

et304383 commented Aug 20, 2024

Turn this off by default please.

@moronigranja
Copy link

I also hate it. If I wanted to see a snakes nest, I wouldn't waste so much time managing cables on my desk.

@rikimasorati
Copy link

It loads 5 years of coding everytime i do something on git and commiting and pushing takes now painfully long. And it cant be turned off also. Very bad. Already looking from alternatives from competition.

@saschwarz
Copy link

@rikimasorati #224517 (comment)

@lszomoru
Copy link
Member

Thanks again all for your feedback. The history graph has been moved into its own dedicated view - Source Control Graph. The new view is still limited to the current/remote/base branches but next milestone we will be adding the capability to select any branches from the repository to be shown. The new view also uses caching, paging, and if the view is not visible or expanded no additional git calls are being made.

The new view is already available in VS Code Insiders and will be included in the next VS Code Stable release.
Please five it a try and let us know what you think. Thanks!

@lszomoru lszomoru added feature-request Request for new features or functionality and removed under-discussion Issue is under discussion for relevance, priority, approach labels Aug 26, 2024
@cmj1904
Copy link

cmj1904 commented Sep 7, 2024

Thank the git lords you put this in its own view!! It was driving me nuts was about to force myself to switch to JetBrains or something.

@huyz
Copy link

huyz commented Sep 7, 2024

Even in its own view, for the life of me, I can't figure out what it's for. As far as I can tell, it's a different take on what we already have: the Commits view.

@huyz
Copy link

huyz commented Sep 7, 2024

Or maybe I'm confused because I already use the graph functionality of https://marketplace.visualstudio.com/items?itemName=mhutchie.git-graph and I'm now realizing that this is is just the built-in version of that?

@subchannel13
Copy link

Please don't dump such productivity disruptor on us again!

@vs-code-engineering vs-code-engineering bot locked and limited conversation to collaborators Oct 10, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-request Request for new features or functionality on-testplan scm General SCM compound issues
Projects
None yet
Development

No branches or pull requests