Ok I've been looking into some git options to make things better (diskspace / bandwidth usage wise). I still think git really sucks for our purposes and it's not really designed for what we want to use it for, but this should make things a bit better:
- On initial checkout: use the "depth" option to create a shallow copy. eg:
Code:
"git clone --depth 1 git://github.com/djh/aeon.git "Aeon Stark"
This only pulls the current version of the repository without the entire history.
- Frequently I get the error that something is not uptodate and cannot be merged when doing a git pull. The only reliable way to get rid of this error seems to be deleting files (!) (git reset --hard doesn't work, git stash works sometimes but not others, it's a mess). I've written a little batch file that automates the deleting files / git pull that seems to work so far:
Code:
@set PLINK_PROTOCOL=ssh
@setlocal
@for /F "delims=" %%I in ("%~dp0") do @set git_install_root=%%~fI
@set path=%git_install_root%\bin;%git_install_root%\mingw\bin;%git_install_root%\cmd;%PATH%
@if "%HOME%"=="" @set HOME=%USERPROFILE%
@cd %HOME%
@cd "D:\Program Files\XBMC\skin\Aeon Stark"
@for /f %%a IN ('dir /ad /b') do @if "%%a" NEQ ".git" if "%%a" NEQ "fonts" rmdir /s /q %%a
@for /f %%a IN ('dir /a-d /b') do @if "%%a" NEQ ".gitignore" del /q %%a
git pull git://github.com/djh/aeon.git auriga
git reset --hard
It basically deletes all the files in the skin except for ".git" and the "fonts" subdirectory, does a "git pull" and then a "git reset --hard"