Describe gina#command#branch Before all let Path = vital#gina#import('System.Filepath') let slit1 = Slit(tempname(), 1) let slit2 = Slit(tempname(), 1) call slit1.write('A/foo.txt', []) call slit1.write('B/foo.txt', []) call slit1.write('C/foo.txt', []) call slit2.write('A/foo.txt', []) call slit2.write('B/foo.txt', []) call slit2.write('C/foo.txt', []) call slit1.execute('add %s', slit1.path('A/foo.txt')) call slit1.execute('commit --quiet -m "First"') call slit1.execute('checkout -b develop') call slit1.execute('add %s', slit1.path('B/foo.txt')) call slit1.execute('commit --quiet -m "Second"') call slit1.execute('checkout master') call slit1.execute('add %s', slit1.path('C/foo.txt')) call slit1.execute('commit --quiet -m "Thrid"') call slit2.execute('add %s', slit2.path('A/foo.txt')) call slit2.execute('commit --quiet -m "Forth"') call slit1.execute('remote add ext %s', slit2.worktree) call slit1.execute('fetch ext') call slit1.execute('checkout -track -b ext/master remotes/ext/master') call slit1.execute('checkout master') End After all %bwipeout! End Before %bwipeout! execute 'edit' fnameescape(slit1.worktree) End Describe Use cases It might be called without arguments GinaSync branch Assert Equals(winnr('$'), 1) Assert Equals(bufname('%'), printf('gina://%s:branch', slit1.refname)) Assert Equals(getline(1, '$'), [ \ ' develop', \ '* master', \]) Assert Equals(gina#action#candidates(1, line('$')), [ \ { \ '__lnum': 1, \ 'abbr': ' develop', \ 'word': ' develop', \ 'sign': ' ', \ 'alias': '', \ 'remote': '', \ 'branch': 'develop', \ 'rev': 'develop', \ }, \ { \ '__lnum': 2, \ 'abbr': '* master', \ 'word': '* master', \ 'sign': '*', \ 'alias': '', \ 'remote': '', \ 'branch': 'master', \ 'rev': 'master', \ }, \]) End It might be called with --remotes GinaSync branch --remotes Assert Equals(winnr('$'), 1) Assert Equals(bufname('%'), printf('gina://%s:branch', slit1.refname)) Assert Equals(getline(1, '$'), [ \ ' ext/master', \]) Assert Equals(gina#action#candidates(1, line('$')), [ \ { \ '__lnum': 1, \ 'abbr': ' ext/master', \ 'word': ' ext/master', \ 'sign': ' ', \ 'alias': '', \ 'remote': '', \ 'branch': 'ext/master', \ 'rev': 'ext/master', \ }, \]) End It might be called with --all GinaSync branch --all Assert Equals(winnr('$'), 1) Assert Equals(bufname('%'), printf('gina://%s:branch', slit1.refname)) Assert Equals(getline(1, '$'), [ \ ' develop', \ '* master', \ ' remotes/ext/master', \]) Assert Equals(gina#action#candidates(1, line('$')), [ \ { \ '__lnum': 1, \ 'abbr': ' develop', \ 'word': ' develop', \ 'sign': ' ', \ 'alias': '', \ 'remote': '', \ 'branch': 'develop', \ 'rev': 'develop', \ }, \ { \ '__lnum': 2, \ 'abbr': '* master', \ 'word': '* master', \ 'sign': '*', \ 'alias': '', \ 'remote': '', \ 'branch': 'master', \ 'rev': 'master', \ }, \ { \ '__lnum': 3, \ 'abbr': ' remotes/ext/master', \ 'word': ' remotes/ext/master', \ 'sign': ' ', \ 'alias': '', \ 'remote': 'ext', \ 'branch': 'master', \ 'rev': 'ext/master', \ }, \]) End End End