-
Notifications
You must be signed in to change notification settings - Fork 476
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
Merge master into feature/amazonqLSP #6223
Merged
jpinkney-aws
merged 60 commits into
feature/amazonqLSP
from
autoMerge/feature/amazonqLSP
Jan 9, 2025
Merged
Merge master into feature/amazonqLSP #6223
jpinkney-aws
merged 60 commits into
feature/amazonqLSP
from
autoMerge/feature/amazonqLSP
Jan 9, 2025
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Problem EC2 is currently hidden behind dev mode. ## Solution Make it an experimental feature that customers can enable. Also, remove some old experiments from settings page description.
…#6166 ## Problem Wizard framework does not support: - async `showWhen()` provider. - restoring previous state of WizardPrompter in nested wizard when user clicks BACK button. - skipping prompter in backward direction. ## Solution - introduce `NestedWizard` class that uses child wizards as prompters with support for instantiating and restoring child wizards in backward direction. - update wizard state controller to support `ControlSingal.Skip` and add concept of wizard direction. - support async `showWhen()` provider. fix #6094
## Problem EC2 icons are in an awkward order with the link to launch in-between the two connect options. ## Solution https://stackoverflow.com/questions/47613141/how-to-specify-the-order-of-icons-in-an-explorer-view-in-a-vscode-extension. Also update descriptions to fit UX guidelines.
…#6113 ## Problem contributors may use the low-level node `child_process` library, which lacks the instrumentation and robustness of the toolkit `ChildProcess` utility. Example: #5925 (comment) ## Solution - add the node `child_process` library as a "banned import" with a message pointing to our `ChildProcess` utility. - Migrate simple cases to use our `ChildProcess`, mark more complex ones as exceptions. ## Future Work - To migrate the existing cases marked as exceptions, we will need to add functionality to our `ChildProcess` api, such as enforcing a `maxBufferSize` on the output. - Additionally, some of the current uses of `child_process` are tied to implementation details in the `child_process` library that make it hard to change without a larger-scale refactor. These cases were marked as exceptions.
## Problem Performance test was reliant on dead code removed in #6218 ## Solution - update thresholds to accommodate the change. --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
## Problem: Error users were seeing was: ``` Error: SSO cache data unexpectedly missing props: ["refreshToken"] ``` This was due to a change from a previous PR that assumed the refreshToken was always present in SSO cache. ## Solution: It looks like the refreshToken does not exist for all cases, so some research needs to be done. But for now this reverts the validation that the refreshToken exists. Though it keeps the validation that the accessToken exists since that is always guaranteed. **A temporary workaround should be to sign out/in and things should start working. If not please downgrade 3.38.0 until we release this fix next week.** Fixes #6230 --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). License: I confirm that my contribution is made under the terms of the Apache 2.0 license. --------- Signed-off-by: nkomonen-amazon <nkomonen@amazon.com>
) ## Problem If a user runs a transformation, rejects changes, then immediately runs another transformation on the same project (rare, but it happens), we attempt to show the user the old diff (which has already been deleted at this point). ## Solution Reset `patchFiles` before showing the user the patch file. --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). License: I confirm that my contribution is made under the terms of the Apache 2.0 license. Co-authored-by: David Hasani <davhasan@amazon.com>
## Problem - the current implementation only opens the first tab as a welcome tab for the next 3 times you open vscode ## Solution - the new implementation shows the welcome tab 3 total times, either when you open a new chat tab or a new vscode window or both --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
## Problem - For the last 8 months or so we've skipped e2e test results, now they're becoming a lot more crucial and used by other teams ## Solution - remove the skipping --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
…to always use repomap (#6205) ## Problem Remove client side A/B experiment (control, treatment1, treatment2), move it to service side and always assume treatment1 ## Solution --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
/runintegrationtests |
… telemetry (#6242) ## Problem Current `supplementalContextStrategy ` only reflect what group the user is in, however by doing this it won't help much on our data analysis. What we need is the context strategy being used so that we know how much % of users have repomap or opentabs and how % of users have empty supplemental context etc. ## Solution --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
## Problem `jobId` missing in some metrics. ## Solution Add it.
## Problem Apply fix removes other issues in the same file. This is happening because apply fix command will always replace the entire file contents which triggers a document change event that intersects with all issues in the file. ## Solution Look through the diff hunks and apply them in a range. --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
## Problem Techdebt test is failing CI. This is unlikely to be addressed atm. ## Solution - Delay until 2025.
/runIntegrationTests |
1 similar comment
/runIntegrationTests |
…points #6240 ## Problem SAM CLI guided deploy support template parameter override for both sync and deploy command. However, the AppBuilder wizard UI only support this feature for SAM deploy trigger from SAM template context menu or AppBuilder project node menu button. ## Solution - Implement nested wizard for template parameter for both sync and deploy action for all entry points. - Refactor DeployWizard class for consistency with SyncWizard class - Add unit test for validating correct backward flow and state restoration for both wizard.
…r timeout (#6256) ## Problem related issue: #6079, #6252 caller ``` function main () { // init vscode cancellation token const cancellationToken setTimeout(100, () => { cancellationToken.cancel() }) highlevelWrapperFetchSupplementalContext(editor, cancellationToken) } ``` ``` export function highlevelWrapperFetchSupplementalContext(editor, cancellationToken) { const supplementalContext = waitUntil(100, () => { // here always timeout and throw TimeoutException const opentabs = await fetchOpenTabsContext(...) const projectContext = await fetchProjectContext() const result = [] if (projectContext not empty) { // push project context } if (opentabs not empty) {} // push openttabs }) return result } async function fetchOpenTabsContext(editor, cancellationToken) { .... // VSC api call } async function fetchProjectContext() { .... // LSP call } ``` After investigation, it looks like mix use of `vscode.CancellationToken` and `waitUntil()` will likely cause cancellation token to be cancelled prematurely (might be because another layer of waitUntil will run the fetchOpenTabsContext asynchronously thus causing it to timeout prematurely) therefore `fetchOpebtabsContext(..)` will return null in this case and hence causing test cases failing. Therefore, the issue here is actually not the test case itself and they're failing due to race condition ## Solution remove usage of cancellation token and only use waitUntil for timeout purpose ## Functional testing retrieved sup context as expected ### Case 1: repomap is available (there are local imports) ``` 2024-12-16 13:10:15.616 [debug] CodeWhispererSupplementalContext: isUtg: false, isProcessTimeout: false, contentsLength: 14436, latency: 16.67179101705551 strategy: codemap Chunk 0: Path: q-inline Length: 10209 Score: 0 Chunk 1: Path: /Volumes/workplace/ide/aws-toolkit-vscode-staging/packages/core/src/codewhisperer/service/serviceContainer.ts Length: 1486 Score: 22.60257328587725 Chunk 2: Path: /Volumes/workplace/ide/aws-toolkit-vscode-staging/packages/core/src/codewhisperer/tracker/lineTracker.ts Length: 1649 Score: 19.106700952807103 Chunk 3: Path: /Volumes/workplace/ide/aws-toolkit-vscode-staging/packages/core/src/codewhisperer/tracker/lineTracker.ts Length: 1092 Score: 10.334690655691002 ``` ### Case 2: No repomap, should fallback to opentabs only ![image](https://github.com/user-attachments/assets/f59c11cf-0e34-40b8-8162-34b4d057673f) ``` 2024-12-16 13:11:29.738 [debug] CodeWhispererSupplementalContext: isUtg: false, isProcessTimeout: false, contentsLength: 5046, latency: 16.311500012874603 strategy: opentabs Chunk 0: Path: /Volumes/workplace/ide/aws-toolkit-vscode-staging/packages/core/src/codewhisperer/tracker/lineTracker.ts Length: 1564 Score: 0 Chunk 1: Path: /Volumes/workplace/ide/aws-toolkit-vscode-staging/packages/core/src/codewhisperer/tracker/lineTracker.ts Length: 1649 Score: 0 Chunk 2: Path: /Volumes/workplace/ide/aws-toolkit-vscode-staging/packages/core/src/codewhisperer/tracker/lineTracker.ts Length: 1833 Score: 0 ``` --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
## Problem #6225 - Didn't think 400% could be exceeded, but this one is especially volatile. Sometimes it barely spikes, and sometimes it goes crazy. ## Solution - Increase to 500% --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
… logs (#6263) ## Problem - JSDOM logs non-critical CSS parsing errors during E2E tests. These warnings occur when mynah-ui loads SCSS files in [main.ts](https://github.com/aws/mynah-ui/blob/8058f86ed370f5268ba6e0993b2436dca0e09b30/src/main.ts#L37). These errors appear the test logs but they do not affect test functionality or results. ## Solution - Suppress the errors --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
## Problem S3 upload sometimes fails due to transient issues. ## Solution Add up to 3 retries. --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). License: I confirm that my contribution is made under the terms of the Apache 2.0 license. --------- Co-authored-by: David Hasani <davhasan@amazon.com>
## Problem fix #6213 ## Solution - The important part of this test is that the message comes after being inactive. If the message comes slightly early/late, that is okay. If it doesn't come at all, then we have problems and should fail. - Pass test if message comes within a minute of expected.
Problem: Since 6dcbfc7, the `lint-commits` job runs whenever the PR *description* is edited, which then re-runs all the other GHA jobs. This is because it listens to the `edited` event, which triggers whenever the PR is edited in any way (very noisy). Solution: There is no way to avoid rerunning all the CI jobs if they are dependent on `lint-commits`. Instead, revert 6dcbfc7 and document that re-opening the PR will force CI to re-run, if needed, after fixing a PR title.
## Problem Code block extends beyond margins followed by the rest of the document. ## Solution Remove css styles
## Problem - mynah ui 4.21.3 contains a fix needed for tests: https://github.com/aws/mynah-ui/releases/tag/v4.21.3 ## Solution - update to it. No public facing changes are needed
## Problem This is a part of the task to implement client side alarms in order to track success rate for the client. ## Solution - Emit metric data telemetry on success/failure.
## Problem We have no tests for the welcome page and explore agents page ## Solution Add them
## Problem Fonts are out of sync for the toolkits ## Solution Update and commit the font changes --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license. Signed-off-by: nkomonen-amazon <nkomonen@amazon.com>
## Problem The `jscpd` check checks changed *files*. So duplicate code may be reported on lines outside of the actual changes (in the same file), which may be considered false positives. ## Solution - Only report "clones" (duplicate code) on actually changed lines. - Refactor the action to simplify the bash scripting. - Add tests for `filterDuplicates.ts`.
## Problem Many bugs, and confusing behavior stem from developers using an async function within a forEach. This is almost always not desired. Additionally, `forEach` can lead to bloated implementations when other methods like `some`, `find`, `reduce`, or `flatMap` are more applicable. According to https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-for-each.md It is also faster with `for ... of`. ## Solution - Add lint rule: https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-for-each.md - Migrate existing cases with `eslint CLI --fix` (75% of cases). - For remaining cases, mark as exception.
## Problem Be able to tell when a language upgrade vs sql conversion happens. ## Solution Add metric. --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license. --------- Co-authored-by: David Hasani <davhasan@amazon.com>
## Problem Not using correct documentation link. ## Solution Update it. --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license. Co-authored-by: David Hasani <davhasan@amazon.com>
## Problem We previously increased the maxRetries for GetTransformationJob from 3 to 8 since it's polled every 5 seconds; we should do the same for GetTransformationPlan since it too is polled every 5 seconds. ## Solution Increase maxRetries from 3 to 8. --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license. Co-authored-by: David Hasani <davhasan@amazon.com>
## Problem A "View summary" button was missing in the chat, which made it difficult for users to re-open their transformation summary once they closed it. ## Solution Add the button.
## Problem - CI test reporting only captures the last package's results - Running `npm run testE2E` only preserves toolkit's report.xml, losing other package results ## Solution - Generate individual report.xml files per subproject - Consolidate all existing package reports into root .test-reports/report.xml - This is done in the buildspecs themselves rather than directly in the package.json (the original approach to solve this problem) because mac/linux and windows have two different ways of getting the last error code, resulting in a complicated package.json for something thats only needed in our codebuilds --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
Removes code that should no longer be necessary anymore. - Remove autoinstall Amazon Q if you were a CodeWhisperer user on 2.x versions of toolkit - The prompt to install Amazon Q will still appear, if you don't have it. It has been slightly reworded. - If Amazon Q is installed, then you uninstall, it you will not see the prompt again in toolkit (previously you could). - Remove settings migrations from codewhisperer settings - Remove amazon Q telemetry enabled setting being initialized by the value from toolkit. We are still getting hits in telemetry for people getting auto install (172 in last 2 months). However, they are mostly on old versions. Let's simplyify our codebase by removing support for these dated codepaths.
Removes the prompt shown in Toolkit that Amazon Q no longer shares connections with it. Some time has passed, active users should have been informed by now. We are still getting telemetry hits indicating that this is being used though. NOTE: Does not revert or remove any separation logic itself. We continue to have separate sessions and also remove any connections in either extension that are extra or don't match the required scopes for that extension. That logic helps us catch auth edge cases.
## Problem Flaky test `generateZipTestGen` sometimes fails with ``` 1) zipUtil generateZipTestGen Should generate zip for test generation successfully: Error: done() called multiple times in test <zipUtil generateZipTestGen Should generate zip for test generation successfully> of file /Users/runner/work/aws-toolkit-vscode/aws-toolkit-vscode/packages/amazonq/dist/test/unit/codewhisperer/util/zipUtil.test.js; in addition, done() received error: EntryNotFound (FileSystemError): Error: ENOENT: no such file or directory, scandir '/test/zip/utgRequiredArtifactsDir' at Function.e (/private/tmp/.vscode-test/vscode-darwin-arm64-1.83.0/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:127:26740) at Object.readDirectory (/private/tmp/.vscode-test/vscode-darwin-arm64-1.83.0/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:127:24744) at async processDirectory (/Users/runner/work/aws-toolkit-vscode/aws-toolkit-vscode/packages/core/src/codewhisperer/util/zipUtil.ts:190:29) at async ZipUtil.processMetadataDir (/Users/runner/work/aws-toolkit-vscode/aws-toolkit-vscode/packages/core/src/codewhisperer/util/zipUtil.ts:212:9) at async ZipUtil.zipProject (/Users/runner/work/aws-toolkit-vscode/aws-toolkit-vscode/packages/core/src/codewhisperer/util/zipUtil.ts:230:13) at async ZipUtil.generateZipTestGen (/Users/runner/work/aws-toolkit-vscode/aws-toolkit-vscode/packages/core/src/codewhisperer/util/zipUtil.ts:602:41) at async Context.<anonymous> (/Users/runner/work/aws-toolkit-vscode/aws-toolkit-vscode/packages/amazonq/test/unit/codewhisperer/util/zipUtil.test.ts:159:28) { code: 'FileNotFound' ``` Issue: #6160 ## Solution Based on the error, the test is trying to readdir on a mock dirpath even though the entire `zipProject` method should be stubbed. This can be confirmed by commenting out the following line: https://github.com/aws/aws-toolkit-vscode/blob/aa332da854c9d17ba258b459c622500911b1b0d9/packages/amazonq/test/unit/codewhisperer/util/zipUtil.test.ts#L135 which will give the same error ``` Error: ENOENT: no such file or directory, scandir '/test/zip/utgRequiredArtifactsDir' ``` So instead of stubbing which seems to be unreliable, we can let the test actually create the zip file. --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
[revert: amazon q standalone special handling](7ae5405) Removes code that should no longer be necessary anymore. - Remove autoinstall Amazon Q if you were a CodeWhisperer user on 2.x versions of toolkit - The prompt to install Amazon Q will still appear, if you don't have it. It has been slightly reworded. - If Amazon Q is installed, then you uninstall, it you will not see the prompt again in toolkit (previously you could). - Remove settings migrations from codewhisperer settings - Remove amazon Q telemetry enabled setting being initialized by the value from toolkit. We are still getting hits in telemetry for people getting auto install (172 in last 2 months). However, they are mostly on old versions. Let's simplify our codebase by removing support for these dated codepaths. [revert(toolkit): Q <--> Toolkit auth separation notification](4c747af) Removes the prompt shown in Toolkit that Amazon Q no longer shares connections with it. Some time has passed, active users should have been informed by now. We are still getting telemetry hits indicating that this is being used though. NOTE: Does not revert or remove any separation logic itself. We continue to have separate sessions and also remove any connections in either extension that are extra or don't match the required scopes for that extension. That logic helps us catch auth edge cases. --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
## Problem mvn and gradle files are not included in repo archives for Q. ## Solution Add them to the `isCodeFile()` condition.
Bump MynahUI to version 4.21.4 from 4.21.2. This includes two bug fixes and one feature, as described by the changelog commits and by the [MynahUI release notes](https://github.com/aws/mynah-ui/releases).
## Problem When zipping context for /dev, customer build processes (file watchers, etc.) may delete build artifacts we’ve already enumerated but have not added to the archive. As a best practice, customers should `.gitignore` these types of files, but in the event they don't, this has the potential to block /dev from running. ## Solution Skip affected files, which are not found when adding to zip context for Feature Dev.
jpinkney-aws
force-pushed
the
autoMerge/feature/amazonqLSP
branch
from
January 8, 2025 22:12
e1c4635
to
8dbb71c
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Automatic merge failed
Command line hint
To perform the merge from the command line, you could do something like the following (where "origin" is the name of the remote in your local git repo):