Just a quick note for subversion. I was working on a shell script and my first check-in was from the Windows machine I'm working on. My target is the Bash shell in Linux though. When I checked the file out on the target, I had to do a chmod a+x myscript.sh every time I checked out. A little googling and I found that Subversion knows about the executable attribute. I don't know how exactly it interprets the attribute internally, but what worked for me was setting the svn:executable property for the file in the working directory. I don't know how to do this with the command-line client, but in Tortoise SVN it was pretty easy. On my Windows machine I right-clicked the file, picked "Properties" and selected the "Subversion" tab.
There are a lot of reasons you could need to run sshd (the ssh server) on a port other than the standard port 22. These days the Internet is pretty convoluted. Sometimes you have too many hack attempts on port 22, sometimes you're trying to work through a restrictive or oppressive proxy/firewall. I moved my sshd to a high port number on one server for the first reason.