Ted Dennison wrote:

Peter Harris wrote:
WinDOS EOF is CTRL-Z. (WinDOS doesn't have a "suspend". DOS doesn't
I had tried that. However, I didn't think to hit that and then hit "return". That seems to work. Thanks.

I know this isn't the proper list for design issues, but fast-import probably should have some kind of "quit" command. The EOF thing really feels like a hack.
I had a chance to further look into this today. It turns out that ctrl-z sends an EOF from a Windows console *only* if it is the first character on the line, and only after the line is fed to the console.

But wait! There's more! If you instead create a console process and feed its input through a pipe (what I happened to be attempting to do), there is *no* way to send EOF. ctrl-z and ctrl-d are passed straight through as-is. Closing the pipe won't do it either. It sends an entirely different error code than EOF, which most programs (including fast-import) interpret as an error. For a more detailed discussion of this, see http://discuss.techinterview.org/default.asp?joel.3.218214.22

This essentially means fast-import, as currently designed, cannot work in a detached NT process. Thus the "quit" command I talked about above is no longer a "nice to have", its a necessity.

I tried it out, and it works great. (I called the command "done", actually). Its only 2 lines of code in the command-handling if check. It should be totally backward-compatable too. So what I'm wondering now who I should talk to about possibly getting this change merged into the Git baseline. Would the proper place be msysgit, or somewhere upstream?

--
T.E.D.


--
Jesus saves. Moses invests. Cthulhu repossesses

Reply via email to