This would be called batch automation.

Simply, you would create a batch file that 

1. Downloads the changes.

2. Hosts your server or starts your Terraria client.

3. Upload the changes when you are done.

I wouldn't suggest uploading the whole map as that could be around 100 MB, while I belief that when playing only a small part of the 100 MB is really affected. What you need is a binary version control system, try looking into [Boar](http://code.google.com/p/boar/) or come up with something like [RDiff-Backup](http://www.nongnu.org/rdiff-backup/) which might be easier to automate over the command line.

It would look something like this:

    line that tells your BVCS to download changes

    %ProgramFiles%\Terraria\Terraria.exe

    line that tells your BVCS to upload changes

The batch will automatically pause till Terraria is closed.

Good luck! :)

PS: You could commit a `.lock` file and check for it to ensure you don't play simultaneously...


----------

Alternatively, you could try to use [Dropbox](http://www.dropbox.com/) and skip the version control system altogether.

> I'd do it via dropbox , share the folder, and then hardlink to where you need it to be, that way DB only syncs actual changes to the file as well 

> — [Mokubai's suggestion on the Super User chat](http://chat.stackexchange.com/transcript/message/1133126#1133126).

Ben Blank explained in the comments that this is completely automatable. :)