Thursday, 26 January 2012

using play dependencies behind a proxy

It took me some googling and some time to find this

play dependencies --sync --verbose -Dhttp.proxyHost=<your proxy host> -Dhttp.proxyPort=<your proxy port>
and if you get an error like this

Traceback (most recent call last):
  File "C:\programs\play\play-1.2.3\play", line 153, in 
    status = cmdloader.commands[play_command].execute(command=play_command, app=play_app, args=remaining_args, env=play_env, cmdloader=cmdloader)
  File "C:\programs\play\play-1.2.3\framework\pym\play\commands\", line 58, in execute
    install(app, args, env)
  File "C:\programs\play\play-1.2.3\framework\pym\play\commands\", line 378, in install
    Downloader().retrieve(fetch, archive)
  File "C:\programs\play\play-1.2.3\framework\pym\play\commands\", line 88, in retrieve
    try: urllib.urlretrieve(url, destination, self.progress)
  File "C:\programs\play\play-1.2.3\python\lib\", line 94, in urlretrieve
    return _urlopener.retrieve(url, filename, reporthook, data)
  File "C:\programs\play\play-1.2.3\python\lib\", line 235, in retrieve
    fp =, data)
  File "C:\programs\play\play-1.2.3\python\lib\", line 198, in open
    return self.open_unknown_proxy(proxy, fullurl, data)
  File "C:\programs\play\play-1.2.3\python\lib\", line 217, in open_unknown_proxy
    raise IOError, ('url error', 'invalid proxy for %s' % type, proxy)
IOError: [Errno url error] invalid proxy for http: '<your proxy>:<your port>'
Then try ( in windows )

set http_proxy=http://<your proxy>:<your port>
it seems to want the "http://" prefix...

 Hope this helps!

how to configure your git diff or merge tool

I recently wanted to change the diff setting for git to use diff merge in windows.
So I went googling around and I found a couple of very usefull Q/A on StackOverflow web site.
In ~/.gitconfig:

  tool = diffmerge
[mergetool "diffmerge"]
  cmd = \"C:/Program Files/git/cmd/\" \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"
  trustExitCode = false

if you also want to have the diff command using diffmerge then add the following two lines
[difftool "diffmerge"]
  cmd = \"C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe\"  \"$LOCAL\" \"$REMOTE\"

and use it like this
git difftool <file>
I know it might sound strange to have a .sh extension in windows but, it is not a typo. It's correct.

Created the file C:\Program Files\Git\cmd\


if [ ! -f $basePath ]

"C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe" --merge --result="$resultPath" "$localPath" "$basePath" "$remotePath" --title1="Mine" --title2="Merged: $4" --title3="Theirs"

and you're done!