mottosso / be

minimal directory and environment management system for collaborative creative projects
GNU Lesser General Public License v2.1
47 stars 4 forks source link

Enter non-existing folder doesn't show message correctly in MSYS2 #38

Closed BigRoy closed 9 years ago

BigRoy commented 9 years ago

When I --enter a non-existing folder with MSYS2 the message whether to create the folder doesn't show until after I entered my choice. The expected behaviour would be to see the question/message so I know what I'm responding to.

Tested on Windows 7 64-bit .

MSYS2

After --enter the cursor will blink waiting for a response but doesn't show the Create? [Y/n] question. I can type n and it will work fine, but since the question doesn't show until after you've entered a response you're basically in the dark of what you're responding to.

Roy@Roy-PC MSYS /e/dropbox/pyblish
$ be in thedeal window modeling --enter
n
No development directory found. Create? [Y/n]: Cancelled

The behavior is the same after be activate.

cmd.exe & git bash (msys?)

Under cmd.exe it works fine and shows the question directly.

E:\Dropbox\pyblish>be in thedeal window modeling --enter
No development directory found. Create? [Y/n]: n
Cancelled

Also with git bash (is that msys 1?) it seems to work great.

Roy@ROY-PC /e/dropbox/pyblish
$ be in thedeal window modeling --enter
No development directory found. Create? [Y/n]: n
Cancelled

Also, is it the intended behaviour that when not using --enter a non-existing folder is ignored thus won't be created?

mottosso commented 9 years ago

I'm getting this too, not sure why, but thanks for flagging it, thought it might have been something local.

It did work at first, it seems to happen randomly. Smells like a MSYS2 bug.

Also with git bash (is that msys 1?) it seems to work great.

Yeah, that's MSYS1, good to hear that it works here. MSYS2 is newer and possibly not as complete yet.

Also, is it the intended behaviour that when not using --enter a non-existing folder is ignored thus won't be created?

Yes, this is intended. The idea is to not modify the file-system, but only the environment. Inside an environment, you can run . home which will take you to your home directory, if it exists. In cmd.exe, it's just home. The . means "source" which is a bash-thing.

mottosso commented 9 years ago

It was an issue with not flushing stdout after having written to it. This was the only instance where that was used, as it's the only occurrence of waiting for user input.

Should be fixed now.