Add zstd (faster to decompress) and xz (smaller) compression for INDEX
Results are the following:
39552 INDEX-14
2366 INDEX-14.bz2
1625 INDEX-14.xz
1672 INDEX-14.zst
When you run `git log foo` foo can be, from git-log(1),
`[<revision range>] [[--] <path>...]`, so, may things.
- A "revision range" described by gitrevision(7) (don't got there unless
you have a few hours, or already lost your sanity), which can be :
* a commit hash,
* a tag
* a branch,
* a ref name
* a "describe output"
* and many other ways to describe revisions
* a range made by any of the above
- An existing path.
When it can't find any of those, git figures out that you meant
something else and made a typo, and exits.
If you really meant a path, you have to run `git log -- foo`. Then git
knows that you meant a path and only a path, it will then assume that
you knew what you meant, and will go look in the history.
`git log' cannot get the log of a non-existent file, which the script uses
to obtain the last person who touched a port, so check if the file exists
before getting its log. This is similar to the Subversion case, which only
inspected changed files. The Git version still also checks added ports.
While here, call git in blame() using the predefined global variable.
Reported by: antoine
When copying INDEX to the server, copy it first to a staging area and
first then to the real location. The copying can take long enough for
users to get a truncated file when downloading during the upload.
which are copied to www.freebsd.org for use by 'make fetchindex', as well
as the source of build failure reports on ports@FreeBSD.org when it is
broken.