| #!/bin/bash |
| # Copyright 2013 The Flutter Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| # |
| ### Starts a new branch from Fuchsia's checkout of the Flutter engine. |
| ### This is necessary to avoid skew between the version of the Dart VM used in |
| ### the flutter_runner and the version of the Dart SDK and VM used by the |
| ### Flutter toolchain. See |
| ### https://github.com/flutter/flutter/wiki/Compiling-the-engine#important-dart-version-synchronization-on-fuchsia |
| ### for more details. |
| ### |
| ### Example: |
| ### $ ./branch_from_fuchsia.sh my_new_feature_branch |
| |
| source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/lib/vars.sh || exit $? |
| |
| ensure_fuchsia_dir |
| |
| engine-info "Syncing to Fuchsia's checkout of the Flutter engine." |
| source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/sync_to_fuchsia.sh || exit $? |
| |
| engine-info "Creating new branch '$1'." |
| git checkout -b $1 |
| if [ $? -ne 0 ] |
| then |
| engine-error "Failed to create new branch '$1'. Restoring previous checkout." |
| git checkout - |
| exit $? |
| fi |