git-local-fetch(1)
==================

NAME
----
git-local-fetch - Duplicate another git repository on a local system


SYNOPSIS
--------
[verse]
'git-local-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] [-l] [-s] [-n]
                  commit-id path

DESCRIPTION
-----------
Duplicates another git repository on a local system.

OPTIONS
-------
-c::
	Get the commit objects.
-t::
	Get trees associated with the commit objects.
-a::
	Get all the objects.
-v::
	Report what is downloaded.
-s::
	Instead of regular file-to-file copying use symbolic links to the objects
	in the remote repository.
-l::
	Before attempting symlinks (if -s is specified) or file-to-file copying the
	remote objects, try to hardlink the remote objects into the local
	repository.
-n::
	Never attempt to file-to-file copy remote objects.  Only useful with
	-s or -l command-line options.

-w <filename>::
        Writes the commit-id into the filename under $GIT_DIR/refs/<filename> on
        the local end after the transfer is complete.

--stdin::
	Instead of a commit id on the commandline (which is not expected in this
	case), 'git-local-fetch' expects lines on stdin in the format

		<commit-id>['\t'<filename-as-in--w>]

--recover::
	Verify that everything reachable from target is fetched.  Used after
	an earlier fetch is interrupted.

Author
------
Written by Junio C Hamano <junkio@cox.net>

Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

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

