Skip to content

Test: SCM - Source Control Graph view #226648

Description

Refs: #224517

Complexity: 5

Create Issue


Based on user feedback this milestone we have removed the "Incoming/Outgoing" section from the main "Source Control" view into a separate view called "Source Control Graph". The new view does not yet have feature parity with the old "Incoming/Outgoing" section but that feature gap will be addressed next milestone.

Prerequisites

  1. Install the latest VS Code Insiders release
  2. Ensure that the scm.alwaysShowRepositories is set to false

Known issues

  1. Graph only supports single selection
  2. Graph is always scoped to the current branch, it's remote, and the base
  3. There are cases in which progress is being shown in both the "Source Control" and "Source Control Graph" views

No repository

  1. Open a folder in VS Code that does not contain a git repository
  2. Switch to the "Source Control" viewlet
    • Confirm that the "Source Control Graph" view is not visible

Single-repository

  1. Open a folder/workspace that contains a git repository in VS Code
  2. Switch to the default branch of the repository (ex: main/master)
  3. Switch to the "Source Control" viewlet
    • Confirm that the "Source Control Graph" view appears below the "Source Control" view
    • Confirm that the "Source Control Graph" view loads fast and it contains the last 50 commits
  4. Scroll down in the view
    • Confirm that when you scroll to the bottom, the next page of commits is automatically loaded
  5. Click on various commits in the graph
    • Confirm that each commit opens in the multi-file diff editor
  6. Right click on a commit
    • Confirm that each action is working as expected
  7. Use the status bar command to create a new topic branch
    • Confirm that the graph gets updated and you can see labels for both main and the topic branch
  8. Modify a file, and create a new commit
    • Confirm that the graph is being updated correctly
  9. Click on the "Publish" action in the view title
    • Confirm that the graph is being updated correctly (label for remote branch is added)
  10. Modify a file, create a new commit, click on the "Push" action in the view's title bar
    • Confirm that the graph is being updated correctly
  11. Checkout the default branch
    • Confirm that the graph is being updated correctly

Single-repository (fetch)

  1. Open a folder/workspace that contains a git repository in VS Code
  2. Switch to the default branch of the repository (ex: main/master)
  3. In the "Source Control" view click the "Sync Changes" button if needed so that you are up to date
  4. Open the repository on GitHub and create a commit
  5. Switch back to VS Code and use the "Fetch" action in the view's title to fetch the new change
    • Confirm that the graph is being updated correctly
  6. Scroll down the graph to load the next page of commits
  7. Switch back to GitHub and create another commit
  8. Switch back to VS Code and use the "Fetch" action in the view's title to fetch the new change
    • Confirm that the graph is not being refreshed and scroll position remains the same
    • Confirm that an "OUTDATED" description is added to the view's title
  9. Click on the "Refresh" action in the view's title
    • Confirm that the graph is being updated correctly
    • Confirm that the "OUTDATED" description is gone from the view's title

Multi-repository

  1. Open a folder/workspace that contains multiple git repositories in VS Code
  2. Switch to the "Source Control" viewlet and select multiple repositories to be visible
    • Confirm that as you select various repositories that repositories in the "Source Control Graph" view are updated
  3. Scroll down the graph of the first repository
    • Confirm that as you get to the bottom there is a "Load More..." entry and the next page is not loaded automatically
  4. Click on the "Load More..." entry
    • Confirm that the next page of commits is loaded
  5. Try the "Fetch", "Pull", "Push", "Refresh" actions for a repository

Graph

  1. Clone a popular open source repository (ex: vscode)
  2. Open the repository in VS Code and open the "Source Control Graph" view
  3. Scroll down multiple pages of the graph
    • Confirm that lines are continuous and the graph makes sense. When in doubt compare with other extensions (ex: Git Graph). If something looks incorrect please file an issue and provide screenshots from both VS Code and the extension.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions