anchor.diff:  @echo off
  -
  +setlocal
   :: Main Code
   set original_path=%cd%
   
   :: Constants
   set nimrod_git_url="git://github.com/Araq/Nimrod.git"
   set csources_git_url="git://github.com/nimrod-code/csources.git"
  -set default_nimrod_branch=master
  -set default_csources_branch=master
  -set default_nimrod_directory="Nimrod"
  -set default_csources_directory="csources"
  -
  -set default_arch="64"
  -echo %PROCESSOR_ARCHITECTURE% | findstr "64"
  -if ERRORLEVEL 1 set default_arch="32"
  -
  -
  -:: Get the installation path
  -:get_install_path
  -set /P nimrod_directory="Installation path? (default: 'Nimrod')"
  -if "%nimrod_directory%"=="" set nimrod_directory="Nimrod"
  -if EXIST %nimrod_directory% (
  -	choice /C "cr" /M "Warning, target directory exists. [C]ontinue, or [R]e-input path name?" 
  -	if ERRORLEVEL 2 (
  -		goto:get_install_path
  -	)
  -)
  +
  +:: Prompt the user for information
  +call:prompt_for_install_path selected_install_path
  +call:prompt_for_branches selected_nim_branch selected_csources_branch
  +call:prompt_for_build_arch selected_build_arch
  +
   
   :: Clone the Nimrod and csource respositories
   echo.
  -git clone %nimrod_git_url% %nimrod_directory%
  -call:check_for_error
  -
  -cd %nimrod_directory%
  +git clone %nimrod_git_url% %selected_install_path%
  +call:check_for_error
  +
  +cd %selected_install_path%
   
   echo.
   git clone %csources_git_url% csources
  
positive.code: .\koch boot -d:release
  call:check_for_error
  
  
  exit /B
  :: Subroutines
  
  :check_for_error
  setlocal
  if ERRORLEVEL 1 (
  	choice /C "cq" /M "Possible error encountered. [C]ontinue, or [Q]uit?"
  	if ERRORLEVEL 2 (
  			exit /B
  		)
  	)
  endlocal
  goto:EOF
  
negative.code: 
  :: Checkout the selected branches.
  :checkout_branches
  git checkout %selected_nim_branch%
  if ERRORLEVEL 1 (
  	echo Couldn't check out the branch '%selected_nim_branch%'
  	echo [R]eselect branch, or [Q]uit?
  	choice /C "rq" /N /M ""
  	if ERRORLEVEL 2 (
  		call:exit_batch
  	) else (
  		call:prompt_for_branches
  		goto:checkout_branches
  	)
  )
  
  @cd csources
  git checkout %selected_csources_branch%
  if ERRORLEVEL 1 (
  	echo Couldn't check out the branch '%selected_nim_branch%'
  	echo [R]eselect branch, or [Q]uit?
  	choice /C "rq" /N /M ""
  	if ERRORLEVEL 2 (
  		call:exit_batch
  	) else (
  		cd ..
  		call:prompt_for_branches
  		goto:checkout_branches
  	)
  )
  
  
  :: Build the basic nimrod binary
  if "%selected_build_arch%"=="32" (
  	call build.bat
  ) else if "%selected_build_arch%"=="64" (
  	call build64.bat
  )
  
  :: Build final binary
  