René Scharfe <l.s.r@xxxxxx> writes: > diff --git a/Documentation/git-archive.txt b/Documentation/git-archive.txt > index bc4e76a783..10a48ab5f8 100644 > --- a/Documentation/git-archive.txt > +++ b/Documentation/git-archive.txt > @@ -49,7 +49,9 @@ OPTIONS > Report progress to stderr. > > --prefix=<prefix>/:: > - Prepend <prefix>/ to each filename in the archive. > + Prepend <prefix>/ to each filename in the archive. Can be > + specified multiple times; the last one seen when reading from > + left to right is applied. That can be read to mean that we will use C consistently, $ cmd --prefix=A other-args --prefix=B other-args --prefix=C other-args which was what I am worried to be a source of confusion. > -o <file>:: > --output=<file>:: > @@ -58,8 +60,8 @@ OPTIONS > --add-file=<file>:: > Add a non-tracked file to the archive. Can be repeated to add > multiple files. The path of the file in the archive is built > - by concatenating the value for `--prefix` (if any) and the > - basename of <file>. > + by concatenating the current value for `--prefix` (if any) and > + the basename of <file>. "the current value for `--prefix` (if any)" would work well once we somehow make the reader form a mental model that there is "the current" for the "prefix", which starts with an empty string, and gets updated every time the "--prefix=<prefix>/" option is given. So, perhaps with --prefix=<prefix>/:: The paths of the files in the tree being archived, and untracked contents added via the `--add-file` and `--add-virtual-file` options, can be modified by prepending the "prefix" value that is in effect when these options or the tree object is seen on the command line. The "prefix" value initially starts as an empty string, and it gets updated every time this option is given on the command line. or something like that, with something like > + by concatenating the current value for "prefix" (see `--prefix` > + above) and the basename of <file>. here, it might make it less misunderstanding-prone, hopefully? > +`git archive -o latest.tar --prefix=build/ --add-file=configure --prefix= HEAD`:: > + > + Creates a tar archive that contains the contents of the latest > + commit on the current branch with no prefix and the untracked > + file 'configure' with the prefix 'build/'. Great to have this example. Thanks.