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: SCM - incoming/outgoing changes actions #203075

Closed
2 tasks done
lszomoru opened this issue Jan 22, 2024 · 1 comment
Closed
2 tasks done

Test: SCM - incoming/outgoing changes actions #203075

lszomoru opened this issue Jan 22, 2024 · 1 comment

Comments

@lszomoru
Copy link
Member

lszomoru commented Jan 22, 2024

Refs: #199318

Complexity: 5

Create Issue


This milestone we have continued to polish the incoming/outgoing changes feature in the "Source Control" view and we have added the first set of actions. To enable these actions, we have also made changes so that the "Incoming" changes node is only shown when the local branch has an upstream.

Prerequisites

  1. Download and install the latest version of VS Code Insiders
  2. Ensure that the following settings have their default values:
    • git.autofetch- false
    • scm.showIncomingChanges - auto
    • scm.showOutgoingChanges - auto
    • scm.showChangesSummary - true

View Changes/View Commit

  1. Launch VS Code Insiders
  2. Open a folder/workspace that contains a git repository
  3. Switch to a branch that has an upstream (ex: main)
  4. If the branch has any incoming/outgoing changes click the "Sync Changes" button to clear the state
  5. Make a change to a file and commit the change
    • Confirm that the local branch appears with 1 outgoing change
    • Confirm that the separator title says "Outgoing" only
  6. Expand the outgoing changes node to see the one outgoing commit
  7. Make another change to a file and commit the change
    • Confirm that the local branch now has "All Changes", and the two commits
  8. Hover over the "All Changes" node and click on the "View All Changes" action
    • Confirm that a multi-file diff editor is opened with all the changed files
    • Confirm that the title of the editor is "All Changes" along with the commit range
  9. Hover over a commit node and click on the "View Commit" action
    • Confirm that a multi-file diff editor is opened with all the changes from the commit
    • Confirm that the title of the editor is the short ref and the commit message

Fetch/Pull

  1. Launch VS Code Insiders
  2. Open a folder/workspace that contains a git repository
  3. Switch to a branch that has an upstream (ex: main)
  4. Make a change upstream (ex: use GitHub.com to update a file)
  5. Switch back to VS code and run the Run the "Git: Fetch" command
    • Confirm that the upstream appears, with one incoming change
  6. Make another change upstream (ex: use GitHub.com to update a file)
  7. Switch back to VS Code, hover over the incoming change node and run the "Fetch" action
    • Confirm that the "All Changes" node appears
    • Confirm that the second change appears
  8. Hover over the incoming change node and run the "Pull" action
    • Confirm that the changes are merged/rebased as configured
    • Confirm that the incoming changes node is gone

Publish

  1. Launch VS Code Insiders
  2. Open a folder/workspace that contains a git repository
  3. Switch to a branch that has an upstream (ex: main)
  4. Use the checkout command and create a new topic branch
    • Confirm that there are no incoming/outgoing nodes shown
  5. Make a change to a file and commit the change
    • Confirm that the outgoing node appears with one commit
  6. Hover over the outgoing changes node and click the "Push" action
    • Confirm that you are going through the publish branch flow (ex: you might have to pick a remote if you have more than one, you might see a modal dialog asking for confirmation to publish the branch depending on your settings)
    • Confirm that the branch has been pushed to the remote

Push

  1. Launch VS Code Insiders
  2. Open a folder/workspace that contains a git repository
  3. Switch to a branch that has an upstream (ex: main)
  4. Make changes to files, and create several commits
  5. Hover over the outgoing changes node and click the "Push" action
    • Confirm that the commits have been pushed to the remote
@lszomoru lszomoru added this to the December / January 2024 milestone Jan 22, 2024
@rebornix
Copy link
Member

Works as charm, very nice! I only have one UX nit #203251 .

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

4 participants