Ahh: To use GetFileList and GetFileHistory inside -command interactive you have to provide an alias (any alias) in the command line:
osmith@luciddev:/tmp$ soscmd -server 192.168.0.7:8535 -name $SOSUSER -password $SOSPASS -database $SOSDATA -command interactive
SOS>GetFileList -project $/
The GetFileList command requires valid -server, -name, -password, -project, and -database or -alias parameters.
SOS>GetFileList -project $/ -alias X
The GetFileList command requires valid -server, -name, -password, -project, and -database or -alias parameters.
SOS>GetFileList -project $/ -database C:\shared\public\ddrive\vss-dev\srcsafe.ini
SOS>quit
osmith@luciddev:/tmp$ soscmd -server 192.168.0.7:8535 -name $SOSUSER -password $SOSPASS -database $SOSDATA -command interactive -alias X
SOS>GetFileList -project $/
SOS>
GetFile only seems to honor the command line -workdir argument:
osmith@luciddev:/tmp/sos$ mkdir work
osmith@luciddev:/tmp/sos$ soscmd -server 192.168.0.7:8535 -name $SOSUSER -password $SOSPASS -database $SOSDATA -command interactive -alias X
SOS>GetFile -workdir work -project $/ww2data/ww2mods -file tos.txt
SOS>GetFile -workdir ./work -project $/ww2data/ww2mods -file eula.txt
SOS>GetFile -project ww2data/ww2mods -file tos.txt -workdir work
SOS>GetFile -project ww2data/ww2mods -file eula.txt -workdir /tmp/sos/work
SOS>quit
osmith@luciddev:/tmp/sos$ ls work # nothing in there
osmith@luciddev:/tmp/sos$ ls # they're both in the current working directory...
eula.txt tos.txt work
# Running the command with a -workdir argument this time.
osmith@luciddev:/tmp/sos$ soscmd -server 192.168.0.7:8535 -name $SOSUSER -password $SOSPASS -database $SOSDATA -command interactive -alias X -workdir work
SOS>GetFile -project ww2data/ww2mods -file tos.txt
SOS>GetFile -project ww2data/ww2mods -file eula.txt -workdir /tmp
SOS>quit
osmith@luciddev:/tmp/sos$ ls work # both files in work even tho the second had a -workdir
eula.txt tos.txt
I was also having a really hard time trying to drive soscmd via scripting languages etc. Through a process of elimination I managed to work out that it's some weirdness in your tty driving, particularly when you're not a tty.
In the end the only way I could get soscmd to work reliably from within a scripting language was to use python's Pexpect and manually specify a terminal size of 16 rows and 511 columns.
Otherwise, whenever a command was longer than 40-60 characters, soscmd would fail on it as an unrecognized command.
So, yeah, a way to turn the pseudo-readline stuff off would be a godsend. I'm trying to automate some testing but doing it one soscmd invocation at a time = agony.