'D' SP <path> LF
From: Junio C Hamano
where <ref> is the name of the branch to make the commit on. @@ -652,11 +652,13 @@ message (see below for data command syntax). To import an empty commit message use a 0 length data. Commit messages are free-form and are not interpreted by Git. Currently they must be encoded in UTF-8, as fast-import does not permit other encodings to be specified.
-Zero or more filemodify, filedelete and filedeleteall commands +
Zero or more filemodify, filedelete, filename and +filedeleteall commands may be included to update the contents of the branch prior to creating the commit. These commands may be supplied in any order. However it is recommended that a filedeleteall command preceed -all filemodify commands in the same commit, as filedeleteall +all filemodify and filerename commands in the same commit, as +filedeleteall wipes the branch clean (see below).
An author command may optionally appear, if the author information @@ -836,16 +838,34 @@ contain the special component . or .. (e.g. foo/./bar
It is recommended that <path> always be encoded using UTF-8.
Included in a commit command to remove a file from the branch. -If the file removal makes its directory empty, the directory will +
Included in a commit command to remove a file or recursively +delete an entire directory from the branch. If the file or directory +removal makes its parent directory empty, the parent directory will be automatically removed too. This cascades up the tree until the first non-empty directory or the root is reached.
'D' SP <path> LF
here <path> is the complete path of the file to be removed. +
here <path> is the complete path of the file or subdirectory to +be removed from the branch. See filemodify above for a detailed description of <path>.
+Renames an existing file or subdirectory to a different location +within the branch. The existing file or directory must exist. If +the destination exists it will be replaced by the source directory.
+'R' SP <path> SP <path> LF+
here the first <path> is the source location and the second +<path> is the destination. See filemodify above for a detailed +description of what <path> may look like. To use a source path +that contains SP the path must be quoted.
+A filerename command takes effect immediately. Once the source +location has been renamed to the destination any future commands +applied to the source location will create new files there and not +impact the destination of the rename.
Included in a commit command to remove all files (and also all directories) from the branch. This command resets the internal @@ -1203,7 +1223,7 @@ memory footprint (less than 2.7 MiB per active branch).