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

Test: Source Control incoming/outgoing #199177

Closed
2 tasks done
lszomoru opened this issue Nov 27, 2023 · 0 comments
Closed
2 tasks done

Test: Source Control incoming/outgoing #199177

lszomoru opened this issue Nov 27, 2023 · 0 comments

Comments

@lszomoru
Copy link
Member

lszomoru commented Nov 27, 2023

Refs: #192290

Complexity: 5

Create Issue


This milestone we have added the information about the incoming/outgoing changes between the current local branch and the upstream/base branch in the main "Source Control" view. As the new functionality will be enabled by default, we would like to ensure that it meets our quality bar for a feature that is enabled by default. Thank you!

Prerequisites

  • Install the latest VS Insiders release
  • Ensure that the following settings have their default value:
    • scm.showIncomingChanges
    • scm.showOutgoingChanges

Publish branch flow

  • Launch VS Code Insiders and open a folder/workspace that contains a git repository
  • Ensure that you have a clean working tree and you are currently on the default branch (ex: main)
  • Create a new topic branch (ex: topic-branch)
  • Create several commits with additions, modifications, deletions
    • Confirm that after the first commit, a node appears showing the outgoing changes
    • Confirm that for subsequent commits, the outgoing changes node updates as expected
    • Expand the "All Changes" node under outgoing changes confirm that all files appear that were changed
    • Expand each commit and confirm that they contain the correct information
    • Confirm that the file decorations (a: A, M, D) appear correctly for each resource
  • Make some more changes and use "Commit (Amend)" in the commit action button
    • Confirm that the last commit entry is updated correctly
  • Click the "Publish Branch" action button
    • Confirm that the branch has been published to the remote
    • Confirm that the outgoing changes item is not show any more

Sync changes flow

  • Make some more changes locally and commit them
    • Confirm that your change appears as outgoing changes
  • Open https://gihub.com and make some changes and commit them
  • Switch back to VS Code and manually run the "Git: Fetch" command
  • Expand the incoming changes entry
    • Confirm that the summary node contains all the changes
    • Confirm that the commit nodes contain the correct data
  • Click the "Sync Changes" button
    • Confirm that changes are pulled from the repository, and pushed to the upstream
    • Confirm that the incoming/outgoing changes nodes are gone
    • Confirm that the "Sync Changes" button is being disabled

View mode (list vs. tree)

  • Launch VS Code Insiders and open a folder/workspace that contains a git repository
  • Ensure that you have a clean working tree and you are currently on the default branch (ex: main)
  • Make some changes and create multiple commits
  • Expand the summary node, and the commit nodes under outgoing changes
  • Use the action in the view's title bar to switch between list/tree view
    • Confirm that the Tree/List is rendered correctly (expansion, selection)
    • Confirm that the file decorations appear correctly in both modes

Settings

  • Launch VS Code Insiders and open a folder/workspace that contains a git repository
  • Switch to a branch that has an upstream (ex: main)
  • Pull the latest from main, and ensure that you have a clean working tree
  • Make a change to one or more files and commit the changes
    • Confirm that the commit appears as outgoing changes
  • Open settings, and set scm.showIncomingChanges to always
    • Confirm that the outgoing changes node appears, but it has 0 changes
  • Set scm.showIncomingChanges and scm.showOutgoingChanges to never
    • Confirm that incoming/outgoing changes are not shown in the view
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants