INFO:    Workspace path=TMP/main main=main
INFO:    AppConfigData(manifest_path='git-ws.toml', color_ui=True, group_filters=None, clone_cache=None, depth=None)
DEBUG:   run(['git', 'branch'], cwd='.') OK stdout=b'* main\n' stderr=b''
INFO:    Git('TMP/main/main').get_branch() = 'main'
DEBUG:   run(['git', 'branch'], cwd='.') OK stdout=b'* main\n' stderr=b''
INFO:    Git('.').get_branch() = 'main'
===== . (MAIN 'main', revision='main') =====
DEBUG:   run(['git', 'rev-parse', '--show-cdup'], cwd='.') OK stdout=b'\n' stderr=b''
INFO:    Git('.').is_cloned() = True
DEBUG:   run(['git', 'branch'], cwd='.') OK stdout=b'* main\n' stderr=b''
INFO:    Git('.').get_branch() = 'main'
DEBUG:   run(('git', 'submodule', 'update'), cwd='.') OK stdout=None stderr=None
DEBUG:   run(['git', 'remote', '-v'], cwd='.') OK stdout=b'origin\tfile://REPOS/main (fetch)\norigin\tfile://REPOS/main (push)\n' stderr=b''
INFO:    Git('.').get_url() = 'file://REPOS/main'
DEBUG:   ManifestSpec(group_filters=('-test',), dependencies=(ProjectSpec(name='dep1'),))
DEBUG:   Project(name='dep1', path='dep1', level=1, url='file://REPOS/dep1')
===== ../dep1 ('dep1') =====
DEBUG:   run(['git', 'rev-parse', '--show-cdup'], cwd='../dep1') OK stdout=b'\n' stderr=b''
INFO:    Git('../dep1').is_cloned() = True
WARNING: Clone dep1 has no revision!
DEBUG:   run(['git', 'remote', '-v'], cwd='../dep1') OK stdout=b'origin\tfile://REPOS/dep1 (fetch)\norigin\tfile://REPOS/dep1 (push)\n' stderr=b''
INFO:    Git('../dep1').get_url() = 'file://REPOS/dep1'
DEBUG:   run(('git', 'submodule', 'update'), cwd='../dep1') OK stdout=None stderr=None
DEBUG:   run(['git', 'branch'], cwd='../dep1') OK stdout=b'* main\n' stderr=b''
INFO:    Git('TMP/main/dep1').get_branch() = 'main'
DEBUG:   run(['git', 'remote', '-v'], cwd='../dep1') OK stdout=b'origin\tfile://REPOS/dep1 (fetch)\norigin\tfile://REPOS/dep1 (push)\n' stderr=b''
INFO:    Git('../dep1').get_url() = 'file://REPOS/dep1'
DEBUG:   ManifestSpec(dependencies=(ProjectSpec(name='dep2', revision='main'),))
DEBUG:   Project(name='dep2', path='dep2', level=2, url='file://REPOS/dep2', revision='main')
===== ../dep2 ('dep2', revision='main') =====
DEBUG:   run(['git', 'rev-parse', '--show-cdup'], cwd='../dep2') OK stdout=b'\n' stderr=b''
INFO:    Git('../dep2').is_cloned() = True
DEBUG:   run(['git', 'branch'], cwd='../dep2') OK stdout=b'* main\n' stderr=b''
INFO:    Git('../dep2').get_branch() = 'main'
DEBUG:   run(['git', 'remote', '-v'], cwd='../dep2') OK stdout=b'origin\tfile://REPOS/dep2 (fetch)\norigin\tfile://REPOS/dep2 (push)\n' stderr=b''
INFO:    Git('../dep2').get_url() = 'file://REPOS/dep2'
DEBUG:   run(('git', 'submodule', 'update'), cwd='../dep2') OK stdout=None stderr=None
DEBUG:   run(['git', 'branch'], cwd='../dep2') OK stdout=b'* main\n' stderr=b''
INFO:    Git('TMP/main/dep2').get_branch() = 'main'
