"If a stash pop merge fails, Legit stops. I'd like to add checking for a merge failure, and undo the command with friendly error reporting."
what do you mean with "Legit stops"?
Got this today.
(transitopoars)lovato@xlovato:~/code/python/transitopoars/transitopoars (fixes201404) $ git checkout master
error: Your local changes to the following files would be overwritten by checkout:
tests/201403051659.txt
Please, commit your changes or stash them before you can switch branches.
Aborting
(transitopoars)lovato@xlovato:~/code/python/transitopoars/transitopoars (fixes201404) $ git switch master
Saving local changes.
Saved working directory and index state On fixes201404: Legit: stashing before switching branches.
HEAD is now at e728363 melhorias
Switching to master.
Restoring local changes.
Traceback (most recent call last):
File "/usr/local/bin/legit", line 9, in
load_entry_point('legit==0.1.1', 'console_scripts', 'legit')()
File "/usr/local/lib/python2.7/dist-packages/legit/cli.py", line 44, in main
command.call(args)
File "/usr/local/lib/python2.7/dist-packages/legit/cli.py", line 549, in call
return self.fn(_args, *_kw_args)
File "/usr/local/lib/python2.7/dist-packages/legit/cli.py", line 142, in cmd_switch
status_log(unstash_it, 'Restoring local changes.', branch=from_branch)
File "/usr/local/lib/python2.7/dist-packages/legit/cli.py", line 85, in status_log
log = func(_args, *_kwargs)
File "/usr/local/lib/python2.7/dist-packages/legit/scm.py", line 102, in unstash_it
'stash', 'pop', 'stash@{{{0}}}'.format(stash_index)])
File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 377, in execute
raise GitCommandError(command, status, stderr_value)
git.exc.GitCommandError: 'git stash pop stash@{T}' returned exit status 1: fatal: ambiguous argument 'stash@{T}': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git [...] -- [...]'