git-unpack-objects(1)
=====================

NAME
----
git-unpack-objects - Unpack objects from a packed archive


SYNOPSIS
--------
'git-unpack-objects' [-n] [-q] [-r] <pack-file


DESCRIPTION
-----------
Read a packed archive (.pack) from the standard input, expanding
the objects contained within and writing them into the repository in
"loose" (one object per file) format.

Objects that already exist in the repository will *not* be unpacked
from the pack-file.  Therefore, nothing will be unpacked if you use
this command on a pack-file that exists within the target repository.

Please see the `git-repack` documentation for options to generate
new packs and replace existing ones.

OPTIONS
-------
-n::
        Dry run.  Check the pack file without actually unpacking
	the objects.

-q::
	The command usually shows percentage progress.  This
	flag suppresses it.

-r::
	When unpacking a corrupt packfile, the command dies at
	the first corruption.  This flag tells it to keep going
	and make the best effort to recover as many objects as
	possible.


Author
------
Written by Linus Torvalds <torvalds@osdl.org>

Documentation
-------------
Documentation by Junio C Hamano

GIT
---
Part of the linkgit:git[7] suite
