|Re: [jgit-dev] Temporary received packs in objects directory|
On Thu, Oct 28, 2010 at 1:59 AM, Zivkov, Sasa <sasa.zivkov@xxxxxxx> wrote: > In one of our Git repositories, hosted by Gerrit code review system, I found > a > lot of files named like “incoming_XXXXXXXXXXXXXX.pack”. Each of these files > was > huge and was created by “git push” where a commit contained a huge binary > file > (about 300MB). The push failed and the user retried several times. However, > the temporary incoming pack wasn’t cleaned by JGIt. Ouch. That is a bug in IndexPack class in JGit. The temporary file should have been cleaned up if something went wrong and the pack wasn't able to be fully imported into the repository. > While we managed to remove the huge binary from the history (using git > filter-branch), I couldn’t find a legal way to remove these incoming packs. > Neither “git gc” nor “git prune” removed them. C Git doesn't clean files in this directory. That is why we use it as a temporary directory, the files here are unlikely to be deleted. > Would it be safe to simply delete these files in the file system? > Is there a git way to get rid of them? Yes, if the file is old enough that you are reasonably certain the file isn't associated with an active push connection. E.g. anything older than an hour when there are no active git receive-pack tasks in gerrit show-queue output. -- Shawn.
Back to the top