read-cache: use fixed width integer types

Use the fixed width integer types uint16_t and uint32_t for on-disk
structures; unsigned short and unsigned int do not have a guaranteed
size.

Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gitweb: ensure OPML text fits inside its box

The rss_logo CSS style has a fixed width which is too narrow for
the string "OPML". Replace the fixed width with horizontal padding
so the text fits with nice margins.

Signed-off-by: Tony Finch <dot@dotat.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gitweb: vertically centre contents of page footer

Signed-off-by: Tony Finch <dot@dotat.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gitweb: omit the repository owner when it is unset

On the repository summary page, leave the owner line out if the
repo does not have an owner, rather than displaying a labelled empty
field. This does not affect the owner column in the projects list
page, which is present unless $omit_owner is true.

Signed-off-by: Tony Finch <dot@dotat.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gitweb: make search help link less ugly

The search help link was a superscript question mark right next to
a drop-down menu, which looks misaligned and is a cramped and
awkward click target. Remove the superscript tags and add some
spacing to fix these nits. Add a title attribute to provide an
explanatory mouseover.

Signed-off-by: Tony Finch <dot@dotat.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Merge branch 'jc/ls-files-killed-optim' into jch

"git ls-files -k" needs to crawl only the part of the working tree
that may overlap the paths in the index to find killed files, but
shared code with the logic to find all the untracked files, which
made it unnecessarily inefficient.

* jc/ls-files-killed-optim:
  t3010: update to demonstrate "ls-files -k" optimization pitfalls
  ls-files -k: a directory only can be killed if the index has a non-directory
  dir.c: use the cache_* macro to access the current index

# Conflicts:
# 	builtin/ls-files.c
# 	dir.c
# 	t/t3010-ls-files-killed-modified.sh
Merge branch 'es/rebase-i-no-abbrev' into jch

* es/rebase-i-no-abbrev:
  rebase -i: fix core.commentchar regression
Merge branch 'es/rebase-i-respect-core-commentchar' into jch

* es/rebase-i-respect-core-commentchar:
  rebase -i: fix cases ignoring core.commentchar
Merge branch 'sb/diff-delta-remove-needless-comparison' into jch

* sb/diff-delta-remove-needless-comparison:
  create_delta_index: simplify condition always evaluating to true
Merge branch 'sg/bash-prompt-lf-in-cwd-test' into jch

* sg/bash-prompt-lf-in-cwd-test:
  bash prompt: test the prompt with newline in repository path
Merge branch 'jl/some-submodule-config-are-not-boolean' into jch

* jl/some-submodule-config-are-not-boolean:
  avoid segfault on submodule.*.path set to an empty "true"
Merge branch 'jc/transport-do-not-use-connect-twice-in-fetch' into jch

The auto-tag-following code in "git fetch" tries to reuse the same
transport twice when the serving end does not cooperate and does
not give tags that point to commits that are asked for as part of
the primary transfer.  Unfortunately, Git-aware transport helper
interface is not designed to be used more than once, hence this
does not work over smart-http transfer.

I'll try to see if this workaround can be done in a cleaner way
before merging this to 'next'.

* jc/transport-do-not-use-connect-twice-in-fetch:
  fetch: work around "transport-take-over" hack
  fetch: refactor code that fetches leftover tags
  fetch: refactor code that prepares a transport
  fetch: rename file-scope global "transport" to "gtransport"
  t5802: add test for connect helper

# Conflicts:
# 	builtin/fetch.c
Merge branch 'jn/post-receive-utf8' into jch

Update post-receive-email script to make sure the message contents
and pathnames are encoded consistently in UTF-8.

I have a feeling that it is a lost cause to solve the issue the
topic tries to address in general, because the patch text can have
payload in any encodings that are different from either the
pathnames or the log message.  Patches that touch paths that use an
encoding that conflicts with the encoding of the payload and/or the
log message could be transferred with core.quotepath set and patch
generated as all binary, but that would be pretty much useless.

* jn/post-receive-utf8:
  hooks/post-receive-email: set declared encoding to utf-8
  hooks/post-receive-email: force log messages in UTF-8
  hooks/post-receive-email: use plumbing instead of git log/show
Merge branch 'js/xread-in-full' into jch

* js/xread-in-full:
  stream_to_pack: xread does not guarantee to read all requested bytes
Merge branch 'sb/mailmap-freeing-NULL-is-ok' into jch

* sb/mailmap-freeing-NULL-is-ok:
  mailmap: remove redundant check for freeing memory
### match next
Merge branch 'jx/branch-vv-always-compare-with-upstream' into jch

* jx/branch-vv-always-compare-with-upstream:
  status: always show tracking branch even no change
  branch: mark missing tracking branch as gone
  branch: not report invalid tracking branch
Merge branch 'tg/index-struct-sizes' into jch

* tg/index-struct-sizes:
  read-cache: use fixed width integer types
Merge branch 'ks/p4-view-spec' into jch

* ks/p4-view-spec:
  WAITING FOR ACK
  git p4: implement view spec wildcards with "p4 where"
  git p4 test: sanitize P4CHARSET
Merge branch 'nd/fetch-into-shallow' into jch

* nd/fetch-into-shallow:
  list-objects: mark more commits as edges in mark_edges_uninteresting
  list-objects: reduce one argument in mark_edges_uninteresting
  upload-pack: delegate rev walking in shallow fetch to pack-objects
  shallow: add setup_temporary_shallow()
  shallow: only add shallow graft points to new shallow file
  move setup_alternate_shallow and write_shallow_commits to shallow.c