throw more specific toolexit when git fails during upgrade#57162
Merged
christopherfujino merged 2 commits intoflutter:masterfrom May 14, 2020
Merged
Conversation
jmagman
reviewed
May 13, 2020
| ); | ||
| } on Exception catch (e){ | ||
| final String errorString = e.toString(); | ||
| if (RegExp(r'fatal: HEAD does not point to a branch').hasMatch(errorString)) { |
| 'check out an official branch\n(\'stable\', \'beta\', \'dev\', or \'master\') ' | ||
| 'and retry, for example \'git checkout stable\'.' | ||
| ); | ||
| } else if (RegExp(r'fatal: no upstream configured for branch').hasMatch(errorString)) { |
| "Run 'git remote add origin " | ||
| "https://github.com/flutter/flutter' in $workingDirectory", | ||
| ); | ||
| } on Exception catch (e){ |
Comment on lines
+226
to
+228
| 'You are not currently on a release branch. Use git to ' | ||
| 'check out an official branch\n(\'stable\', \'beta\', \'dev\', or \'master\') ' | ||
| 'and retry, for example \'git checkout stable\'.' |
Member
There was a problem hiding this comment.
Based on an audit of user messages, how about:
'You are not currently on a release branch. Use git to '
'check out an official branch (\'stable\', \'beta\', \'dev\', or \'master\') '
'and retry, for example:\n'
' git checkout stable'
pcsosinski
pushed a commit
to pcsosinski/flutter
that referenced
this pull request
May 26, 2020
pcsosinski
pushed a commit
that referenced
this pull request
May 28, 2020
* fix segment hit test behavior (#57461) * Making DropdownButtonFormField to re-render if parent widget changes (#57037) * Update DropdownButtonFormField's state if widget updates Co-authored-by: Shi-Hao Hong <[email protected]> * throw more specific toolexit when git fails during upgrade (#57162) * [flutter_tools] Refresh VM state before executing hot reload (#53960) * Update engine hash for 1.17.2 * Remove MaterialControls from examples/flutter_view (#57621) Co-authored-by: Jenn Magder <[email protected]> * Prevent building non-android plugins in build aar (#58018) * Allow FLUTTER_APPLICATION_PATH to be null for misconfigured Xcode projects (#57701) * Don't import plugins that don't support android in settings.gradle (#54407) Co-authored-by: LongCatIsLooong <[email protected]> Co-authored-by: Pedro Massango <[email protected]> Co-authored-by: Shi-Hao Hong <[email protected]> Co-authored-by: Christopher Fujino <[email protected]> Co-authored-by: Jason Simmons <[email protected]> Co-authored-by: stuartmorgan <[email protected]> Co-authored-by: Jenn Magder <[email protected]> Co-authored-by: Emmanuel Garcia <[email protected]>
This file contains hidden or 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
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Description
If the user's git repo is in a detached HEAD state (which happens after using
flutter version <tag>orgit checkout <tag>) and they try toflutter upgrade, they will receive in an incorrect error message:Unable to upgrade Flutter: no origin repository configured.This PR catches the process exception, and throws specific tool exits if either their head is detached or they don't have an upstream configured, else the original git error message is surfaced.
Related Issues
Fixes #56853.
Tests
I added two new unit tests to validate the new tool exit messages.