+.SH "USING --TEMP OR --STAGE=ALL"
+
+
+When \-\-temp is used (or implied by \-\-stage=all) git\-checkout\-index will create a temporary file for each index entry being checked out\&. The index will not be updated with stat information\&. These options can be useful if the caller needs all stages of all unmerged entries so that the unmerged files can be processed by an external merge tool\&.
+
+
+A listing will be written to stdout providing the association of temporary file names to tracked path names\&. The listing format has two variations:
+
+.TP 3
+1.
+tempname TAB path RS
+
+The first format is what gets used when \-\-stage is omitted or is not \-\-stage=all\&. The field tempname is the temporary file name holding the file content and path is the tracked path name in the index\&. Only the requested entries are output\&.
+.TP
+2.
+stage1temp SP stage2temp SP stage3tmp TAB path RS
+
+The second format is what gets used when \-\-stage=all\&. The three stage temporary fields (stage1temp, stage2temp, stage3temp) list the name of the temporary file if there is a stage entry in the index or \&. if there is no stage entry\&. Paths which only have a stage 0 entry will always be omitted from the output\&.
+.LP
+
+
+In both formats RS (the record separator) is newline by default but will be the null byte if \-z was passed on the command line\&. The temporary file names are always safe strings; they will never contain directory separators or whitespace characters\&. The path field is always relative to the current directory and the temporary file names are always relative to the top level directory\&.
+
+
+If the object being copied out to a temporary file is a symbolic link the content of the link will be written to a normal file\&. It is up to the end\-user or the Porcelain to make use of this information\&.
+