Re: [PATCH v6 1/7] archive: optionally add "virtual" files
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 27, 2022, 19:01 UTC
- Message-ID
- <xmqqh75a3imc.fsf@gitster.g>
- In-Reply-To
- <71ae5983-6ef8-fe28-46ab-1675e819ce8b@web.de>
René Scharfe <l.s.r@web.de> writes:
Show 5 quoted lines
> --prefix=<prefix>/:: > - Prepend <prefix>/ to each filename in the archive. > + Prepend <prefix>/ to paths in the archive. Can be repeated; its > + leftmost value is used for all tracked files. See below which > + value gets used by `--add-file`.
Doesn't "the last one wins" take the rightmost one?
Show 9 quoted lines
> @@ -58,8 +60,9 @@ 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 value of the leftmost `--prefix` option to > + the right of this `--add-file` (if any) and the basename of > + <file>.
It is not what archive.c::add_file_cb() seems to be doing, though
It is passed the pointer to "base" that is on-stack of parse_archive_args(), which is the same variable that is used to remember the latest value that was given to "--prefix". Then it concatenates the argument it received after that base value, so
by concatenating the value of the last "--prefix" seen on the
command line (if any) before this `--add-file` and the basename
of <file>.probably. I always get my left and right mixed up X-<.
Show 13 quoted lines
> @@ -194,6 +197,12 @@ EXAMPLES > commit on the current branch. Note that the output format is > inferred by the extension of the output file. > > +`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/'. > + > `git config tar.tar.xz.command "xz -c"`:: > > Configure a "tar.xz" format for making LZMA-compressed tarfiles.
Thanks.
This patch probably needs to come before the "scalar diagnose" series, which we haven't heard much about recently (no, I am not complaining---we all heard that Dscho is busy).