// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import '../base/process.dart';

String getVersion(String flutterRoot) {
  String upstream = runSync([
    'git', 'rev-parse', '--abbrev-ref', '--symbolic', '@{u}'
  ], workingDirectory: flutterRoot).trim();
  String repository = '<unknown>';
  int slash = upstream.indexOf('/');
  if (slash != -1) {
    String remote = upstream.substring(0, slash);
    repository = runSync([
      'git', 'ls-remote', '--get-url', remote
    ], workingDirectory: flutterRoot).trim();
    upstream = upstream.substring(slash + 1);
  }
  String revision = runSync([
    'git', 'log', '-n', '1', '--pretty=format:%H (%ar)'
  ], workingDirectory: flutterRoot).trim();
  return 'Flutter\nRepository: $repository\nBranch: $upstream\nRevision: $revision';
}