[PATCH] import-tars: ignore the global PAX header
- From
Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Mar 23, 2020, 13:08 UTC
- Message-ID
- <pull.577.git.1584968924555.gitgitgadget@gmail.com>
From: Johannes Schindelin <johannes.schindelin@gmx.de>
Git's own `git archive` inserts that header, but it often gets into the way of `import-tars.perl` e.g. when a prefix was specified (for example via `--prefix=my-project-1.0.0/`, or when downloading a `.tar.gz` from GitHub releases): this prefix _should_ be stripped.
Let's just skip it.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
Ignore the global PAX header in import-tars.perl
This problem came up in Pacman-related work, where PKGBUILD definitions
would reference the tarballs downloaded from GitHub, and patches would
be applied on top. To work on those patches efficiently (e.g. when an
upgrade to a new version of the project no longer lets those patches
apply), I need to be able to import those tarballs into playground
worktrees and work on them. I like to use
contrib/fast-import/import-tars.perl for that purpose, but it really
needs to strip the prefix, otherwise it is too tedious to work with it.Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-577%2Fdscho%2Fimport-tars-skip-pax-header-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-577/dscho/import-tars-skip-pax-header-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/577
contrib/fast-import/import-tars.perl | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/contrib/fast-import/import-tars.perl b/contrib/fast-import/import-tars.perl index e800d9f5c9c..d50ce26d5d9 100755 --- a/contrib/fast-import/import-tars.perl +++ b/contrib/fast-import/import-tars.perl @@ -139,6 +139,8 @@ print FI "\n"; } + next if ($typeflag eq 'g'); # ignore global header + my $path; if ($prefix) { $path = "$prefix/$name"; base-commit: b4374e96c84ed9394fed363973eb540da308ed4f
-- gitgitgadget