config: expand tildes in include.path variable

You can already use relative paths in include.path, which
means that including "foo" from your global "~/.gitconfig"
will look in your home directory. However, you might want to
do something clever like putting "~/.gitconfig-foo" in a
specific repository's config file.

Signed-off-by: Jeff King <peff@peff.net>
Acked-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
fixup! config: expand tildes in include.path variable
sequencer: export commit_list_append()

This function can be used in other parts of git.  Give it a new home
in commit.c.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
revision: append to list instead of insert and reverse

By using commit_list_insert(), we added new items to the top of the
list and, since this is not the order we want, reversed it afterwards.
Simplify this process by adding new items at the bottom instead,
getting rid of the reversal step.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
commit: remove commit_list_reverse()

The function commit_list_reverse() is not used anymore; delete it.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gitweb: Don't set owner if got empty value from projects.list

Prevent setting owner to an empty value if it is not specified in
projects.list file. Otherwise it stops retrieving information about the
owner from other files.

Signed-off-by: Kacper Kornet <draenog@pld-linux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gitweb: Option to omit column with time of the last change

Generating information about last change for a large number of git
repositories can be very time consuming. This commit add an option to
omit 'Last Change' column when presenting the list of repositories.

Signed-off-by: Kacper Kornet <draenog@pld-linux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
config: reject bogus section names for --rename-section

You can feed junk to "git config --rename-section", which
will result in a config file that git will not even parse
(so you cannot fix it with git-config). We already have
syntactic sanity checks when setting a variable; let's do
the same for section names.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Merge branch 'master' into next

By Junio C Hamano (6) and Jonathan Nieder (1)
* master:
  Update draft release notes to 1.7.11
  Start preparing for 1.7.10.1
  Git 1.7.9.7
  Git 1.7.8.6
  Git 1.7.7.7
  diff --no-index: use strbuf for temporary pathnames
  bundle: remove stray single-quote from error message

Conflicts:
	bundle.c
gitweb: Option to not display information about owner

In some setups the repository owner is not a well defined concept
and administrator can prefer it to be not shown. This commit add
and an option that enable to reach this effect.

Signed-off-by: Kacper Kornet <draenog@pld-linux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Merge branch 'mm/include-userpath' into next

The new "include.path" directive in the configuration files learned
to understand "~/path" and "~user/path".

By Jeff King (1) and Junio C Hamano (1)
* mm/include-userpath:
  fixup! config: expand tildes in include.path variable
  config: expand tildes in include.path variable
Merge branch 'rs/commit-list-append' into next

By René Scharfe
* rs/commit-list-append:
  commit: remove commit_list_reverse()
  revision: append to list instead of insert and reverse
  sequencer: export commit_list_append()
Merge branch 'jk/maint-config-bogus-section' into next

By Jeff King
* jk/maint-config-bogus-section:
  config: reject bogus section names for --rename-section
t5570: fix forwarding of git-daemon messages via cat

The shell function that starts git-daemon wants to read the first line of
the daemon's stderr to ensure that it started correctly. Subsequent daemon
errors should be redirected to fd 4 (which is the terminal in verbose mode
or /dev/null in quiet mode). To that end the shell script used 'read' to
get the first line of output, and then 'cat &' to forward everything else
in a background process.

The problem is, that 'cat >&4 &' does not produce any output because the
shell redirects a background process's stdin to /dev/null. To have this
command invocation do anything useful, we have to redirect its stdin
explicitly (which overrides the /dev/null redirection).

The shell function connects the daemon's stderr to its consumers via a
FIFO. We cannot just do this:

   read line <git_daemon_output
   cat <git_daemon_output >&4 &

because after the first redirection the pipe is closed and the daemon
could receive SIGPIPE if it writes at the wrong moment. Therefore, we open
the readable end of the FIFO only once on fd 7 in the shell and dup from
there to the stdin of the two consumers.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Revert "git-daemon wrapper to wait until daemon is ready"

This reverts commit 4c96c7aab7f6b0a18281b6d7ef2a705ae3763a2b, as the
patch by j6t to fix the shell script with wrong construct is a better
way to go.
Merge branch 'cb/daemon-test-race-fix' into next

* cb/daemon-test-race-fix:
  Revert "git-daemon wrapper to wait until daemon is ready"
Merge branch 'js/daemon-test-race-fix' into next

By Johannes Sixt
* js/daemon-test-race-fix:
  t5570: fix forwarding of git-daemon messages via cat
Merge branch 'master' into next

* master:
  The sixth batch of topics graduated to 'master'
Merge branch 'kk/maint-gitweb-missing-owner' into next

Will merge to 'next'.

By Kacper Kornet
* kk/maint-gitweb-missing-owner:
  gitweb: Don't set owner if got empty value from projects.list
Merge branch 'kk/gitweb-omit-expensive' into next

"gitweb" learned to optionally omit output of fields that are expensive
to generate.

Will merge to 'next'.

By Kacper Kornet
* kk/gitweb-omit-expensive:
  gitweb: Option to not display information about owner
  gitweb: Option to omit column with time of the last change