I've got a bad feeling about this

This was a locked entry because it was about work, but it's safe to share now.

At work we are going to be required to change to a different tool for source control. We use a tool that works very well for us, but the rest of the company uses a different one. The argument I've heard is economic but leaves out the fact that conversion will cost more than, probably, the next 20 years of support contracts for our current tool. But that ship has sailed, so... whatever.

A few of our people, none programmers, went off for training recently (sort of an advance guard), and reported that the integration with Eclipse (a software-development tool I don't currently use) is pretty smooth. But what about the command-line interface?, I asked. There is one but it was described as "minimal". I sent a query off, describing my usual work-flow and asking how the new tool supports me in that.

What I got back: "So is there a reason you use the command line, are these features not available in a GUI.... Many of the tasks you mention below are very simply and easily done via the GUI, Eclipse...".

Um, yeah. I'm sure that's true for the folks making the pitch, but one size doesn't fit all. My response to this was:

I use command lines for several reasons (in no particular order):

  1. Command history is one control-p (or up-arrow) away. [I had previously described a pattern involving many similar commands, which is best done by editing previous commands.]

  2. No mouse required. (I have intermittent problems with tendonitis in my wrists.)

  3. GUIs tend to make assumptions about font size, colors, and layout that don't work so well for us lower-vision folks. [Yeah, batting about 0.001 on that with corporate IT... no, I didn't say that in the email.]

  4. Scripting.

  5. I already know the interface. Command lines are easy; knowing where in a mouse-based menu system to look for a particular command is harder. Especially if #3 is in play.

  6. Related to #1, command history tells me unambiguously what I have done, so I can answer questions like "did I remember to add that new file to my task branch?". I also sometimes paste commands I've issued into email or IM when instructing newer people how to do things.

No response to that after a week, so I guess, by fiat, one size is going to fit all. Whee.

In the end I found an API, though writing the code would still have been a large task, and we did not change tools.