From 91fdb44445f830680ed0223c3b3377daa8b0e484 Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Fri, 29 Jun 2012 21:43:49 +0100 Subject: [PATCH] lib git: Clear git-bin cache after sync --- SparkleLib/Git/SparkleFetcherGit.cs | 7 +++++-- SparkleLib/Git/SparkleRepoGit.cs | 20 +++++++++++++++++++- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/SparkleLib/Git/SparkleFetcherGit.cs b/SparkleLib/Git/SparkleFetcherGit.cs index db47647d..3aaf6283 100755 --- a/SparkleLib/Git/SparkleFetcherGit.cs +++ b/SparkleLib/Git/SparkleFetcherGit.cs @@ -81,6 +81,9 @@ namespace SparkleLib.Git { this.use_git_bin = true; } + + this.use_git_bin = true; // TODO: remove + TargetFolder = target_folder; RemoteUrl = uri; } @@ -328,8 +331,8 @@ namespace SparkleLib.Git { { string [] settings = new string [] { "core.bigFileThreshold 8g", - "config filter.bin.clean \"git bin clean %f\"", - "config filter.bin.smudge \"git bin smudge\"", + "filter.bin.clean \"git bin clean %f\"", + "filter.bin.smudge \"git bin smudge\"", "git-bin.chunkSize 1m", "git-bin.s3bucket \"your bucket name\"", "git-bin.s3key \"your key\"", diff --git a/SparkleLib/Git/SparkleRepoGit.cs b/SparkleLib/Git/SparkleRepoGit.cs index 8ce4ad37..30e94171 100644 --- a/SparkleLib/Git/SparkleRepoGit.cs +++ b/SparkleLib/Git/SparkleRepoGit.cs @@ -274,7 +274,13 @@ namespace SparkleLib.Git { UpdateSizes (); ChangeSets = GetChangeSets (); - return (git.ExitCode == 0); + if (git.ExitCode == 0) { + ClearCache (); + return true; + + } else { + return false; + } } @@ -341,6 +347,7 @@ namespace SparkleLib.Git { ); ChangeSets = GetChangeSets (); + ClearCache (); return true; @@ -780,6 +787,17 @@ namespace SparkleLib.Git { } + private void ClearCache () + { + if (!this.use_git_bin) + return; + + SparkleGitBin git_bin = new SparkleGitBin (LocalPath, "clear -f"); + git_bin.Start (); + git_bin.WaitForExit (); + } + + // Git doesn't track empty directories, so this method // fills them all with a hidden empty file. //