microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
162.52k stars 28.66k forks source link

Source control incoming changes do not display with the source control graph #227727

Open craiganderson-iotv opened 1 week ago

craiganderson-iotv commented 1 week ago

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

Steps to Reproduce:

  1. Use 1.93.0
  2. Have incoming changes in a source control repository

On 1.92.0 and earlier, when the experimental source control graph/history was disabled ("scm.showHistoryGraph": false), it was possible to view incoming changes just as easily as outgoing / staged / unstaged changes. Now that the source control graph is no longer optional, it is not possible to view them in the same way. This seems quite unnecessary to remove, when the source control graph panel itself can be hidden or at least moved out of view. Furthermore, outgoing changes are still viewable with the same interface, so it makes sense to have incoming changes similarly visible.

A repository with incoming changes, but not shown: image

A repository with outgoing changes, which are shown: image

charlieandroid55 commented 1 week ago

It seems it was removed, these options were valid before, now they are grayed out, which means they no longer exist, and I can't find similar names in case they were renamed, it's a shame. The native Graph History is a good addition to have out of the box, but it still lacks many functionalities. I use Git Graph extensions, I don't need to have the native one active, but I do want to know what commits need to be pushed or pulled .

Screenshot 2024-09-05 185843

lszomoru commented 1 week ago

Please see https://code.visualstudio.com/updates/v1_93#_source-control-graph-view

craiganderson-iotv commented 1 week ago

Hi @lszomoru, thanks for looking into this. I have been informed via the release notes throughout this change, however, functionality which previously existed no longer exists. I think that is still a a bug. There is no reason to remove this functionality. It would've taken exactly zero effort to not remove it, hence I am confused as to the removal.

A note as to why the source graph is not equivalent replacement functionality:

I do note the closing statement that improvements to the source graph will come in future updates, however there is currently missing functionality that already existed and could've kept existing in the meantime.

gjsjohnmurray commented 1 week ago

@craiganderson-iotv AFAIK the discontinued feature in the (built-in) Git extension leveraged proposed API, and it was subsequently decided that this API was not going to be finalized. Once finalized an API incurs support overhead forevermore, which is why some proposed APIs get dropped.

Other Git extensions may already be able to give you the features you miss (or similar), and won't require that API because they display the information in their own view(s).

craiganderson-iotv commented 1 week ago

Whilst disappointing to hear, thank you for explaining the reasoning behind the change. I shall seek solutions elsewhere as you suggest.

gjsjohnmurray commented 1 week ago

Thanks for your understanding. With hindsight I think it was unfortunate that https://code.visualstudio.com/updates/v1_85#_incomingoutgoing-changes didn't indicate that the work was somewhat experimental,

charlieandroid55 commented 1 week ago

It's really sad, the supposed experimental API was very useful, the source graph is still immature and lacks functions, I don't need to have 2 or 3 extensions to view the graph, so I'll hide the native one until I can replace my extension. On the other hand, the Incoming and Outgoing settings allowed me to see from my source control view what commits I had to pull or push and what files and how many modifications had been made, it's really something I'll miss, I liked it a lot, @craiganderson-iotv if you find any extension that does something similar, let me know.

craiganderson-iotv commented 1 week ago

@charlieandroid55 GitLens can be wrangled to show the same information in an only slightly-less-convienient manner with the Repositories panel:

image

If you hide everything except Current branch status and set gitlens.views.repositories.compact, then it replicates the removed functionality.

As far as I can see, this functionality is available to be freely used on all repositories with no additional accounts or setup.

zepfietje commented 1 week ago

Viewing the diff of all changes has made maintaining a big open-source project with multiple maintainers much easier for me. Very sad to see it's been removed. Just commenting on here to let you know there's more people that would love to see this feature being re-added. 🙂

dushmanta05 commented 1 week ago

This feature was a very handy tool for me, honestly. I work on multiple branches, and whenever I see the source control page, I can just check what's the incoming changes and the files changed, and the same for outgoing changes. Now, with the graph, it's very difficult to know what's going on; there are too many things there to find which commit to check, which is incoming and what's outgoing. It was very useful. I would love it if this feature is re-added in the next release. Thanks.

karthick-in commented 1 week ago

I had to revert to an older version just for this feature!

lszomoru commented 1 week ago

That you all for the feedback. We definitely want to re-enable easy access to incoming/outgoing change from the graph.

maxiedaniels commented 4 days ago

I'm confused - why did this get removed? I'm struggling without it..

gjsjohnmurray commented 2 days ago

@maxiedaniels please see https://github.com/microsoft/vscode/issues/227727#issuecomment-2333682609 above.