addRemoteToLocal function

Future<void> addRemoteToLocal({
  1. required Directory local,
  2. required Directory remote,
})

Adds a remote git repo to a local git repo

Implementation

Future<void> addRemoteToLocal({
  required Directory local,
  required Directory remote,
}) async {
  // Add remote
  final result2 = await Process.run('git', [
    'remote',
    'add',
    'origin',
    remote.path,
  ], workingDirectory: local.path);

  _throw('Could not add remote to local git repository', result2);

  // Add a initial commit, otherwise no pushing is possible
  await addAndCommitSampleFile(
    local,
    fileName: 'init',
    content: 'Initial commit',
  );

  final result3 = await Process.run('git', [
    'push',
    '--set-upstream',
    'origin',
    'main',
  ], workingDirectory: local.path);

  _throw('Could not set up-stream', result3);
}