]> Kevux Git Server - rit/log
rit
13 years agocompletion: add new zsh completion
Felipe Contreras [Sun, 18 Nov 2012 11:08:08 +0000 (12:08 +0100)]
completion: add new zsh completion

It seems there's always issues with zsh's bash completion emulation.
I've tried to fix as many as I could[1], and most of the fixes are already
in the latest version of zsh, but still, there are issues.

There is no point going through all that pain; the emulation is easy to
achieve, and this patch works better than zsh's bash completion
emulation.

[1] http://zsh.git.sourceforge.net/git/gitweb.cgi?p=zsh/zsh;a=commitdiff;h=23907bb840c80eef99eabba17e086e44c9b2d3fc

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoUSE CGYWIN_V15_WIN32API as macro to select api for cygwin
Mark Levedahl [Sun, 18 Nov 2012 21:16:52 +0000 (16:16 -0500)]
USE CGYWIN_V15_WIN32API as macro to select api for cygwin

The previous macro was confusing to some, and did not include "cygwin" in
its name. The updated name more clearly expresses a choice of the
win32api implementation that shipped with version 1.5 of cygwin.

Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoSync with maint
Junio C Hamano [Mon, 19 Nov 2012 03:48:31 +0000 (19:48 -0800)]
Sync with maint

13 years agoStart preparing for 1.8.0.1
Junio C Hamano [Mon, 19 Nov 2012 03:47:19 +0000 (19:47 -0800)]
Start preparing for 1.8.0.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'sz/maint-curl-multi-timeout' into maint
Junio C Hamano [Mon, 19 Nov 2012 03:44:36 +0000 (19:44 -0800)]
Merge branch 'sz/maint-curl-multi-timeout' into maint

Sometimes curl_multi_timeout() function suggested a wrong timeout
value when there is no file descriptors to wait on and the http
transport ended up sleeping for minutes in select(2) system call.  A
workaround has been added for this.

* sz/maint-curl-multi-timeout:
  Fix potential hang in https handshake

13 years agoMerge branch 'po/maint-refs-replace-docs' into maint
Junio C Hamano [Mon, 19 Nov 2012 03:34:09 +0000 (19:34 -0800)]
Merge branch 'po/maint-refs-replace-docs' into maint

The refs/replace hierarchy was not mentioned in the
repository-layout docs.

* po/maint-refs-replace-docs:
  Doc repository-layout: Show refs/replace

13 years agoMerge branch 'ph/pull-rebase-detached' into maint
Junio C Hamano [Mon, 19 Nov 2012 03:33:45 +0000 (19:33 -0800)]
Merge branch 'ph/pull-rebase-detached' into maint

"git pull --rebase" run while the HEAD is detached tried to find
the upstream branch of the detached HEAD (which by definition
does not exist) and emitted unnecessary error messages.

* ph/pull-rebase-detached:
  git-pull: Avoid merge-base on detached head

13 years agoMerge branch 'mm/maint-doc-remote-tracking' into maint
Junio C Hamano [Mon, 19 Nov 2012 03:33:20 +0000 (19:33 -0800)]
Merge branch 'mm/maint-doc-remote-tracking' into maint

Update "remote tracking branch" in the documentation to
"remote-tracking branch".

* mm/maint-doc-remote-tracking:
  Documentation: remote tracking branch -> remote-tracking branch

13 years agoMerge branch 'rs/branch-del-symref' into maint
Junio C Hamano [Mon, 19 Nov 2012 03:32:58 +0000 (19:32 -0800)]
Merge branch 'rs/branch-del-symref' into maint

A symbolic ref refs/heads/SYM was not correctly removed with "git
branch -d SYM"; the command removed the ref pointed by SYM instead.

* rs/branch-del-symref:
  branch: show targets of deleted symrefs, not sha1s
  branch: skip commit checks when deleting symref branches
  branch: delete symref branch, not its target
  branch: factor out delete_branch_config()
  branch: factor out check_branch_commit()

13 years agoMerge branch 'nd/grep-true-path' into maint
Junio C Hamano [Mon, 19 Nov 2012 03:32:30 +0000 (19:32 -0800)]
Merge branch 'nd/grep-true-path' into maint

"git grep -e pattern <tree>" asked the attribute system to read
"<tree>:.gitattributes" file in the working tree, which was
nonsense.

* nd/grep-true-path:
  grep: stop looking at random places for .gitattributes

13 years agoMerge branch 'jc/grep-pcre-loose-ends' (early part) into maint
Junio C Hamano [Mon, 19 Nov 2012 03:32:11 +0000 (19:32 -0800)]
Merge branch 'jc/grep-pcre-loose-ends' (early part) into maint

"git log -F -E --grep='<ere>'" failed to use the given <ere>
pattern as extended regular expression, and instead looked for the
string literally.

* 'jc/grep-pcre-loose-ends' (early part):
  log --grep: use the same helper to set -E/-F options as "git grep"
  revisions: initialize revs->grep_filter using grep_init()
  grep: move pattern-type bits support to top-level grep.[ch]
  grep: move the configuration parsing logic to grep.[ch]
  builtin/grep.c: make configuration callback more reusable

13 years agoMerge branch 'da/mergetools-p4' into maint
Junio C Hamano [Mon, 19 Nov 2012 03:31:40 +0000 (19:31 -0800)]
Merge branch 'da/mergetools-p4' into maint

"git mergetool" feeds /dev/null as a common ancestor when dealing
with an add/add conflict, but p4merge backend cannot handle it. Work
it around by passing a temporary empty file.

* da/mergetools-p4:
  mergetools/p4merge: Handle "/dev/null"

13 years agoMerge branch 'jc/test-say-color-avoid-echo-escape' into maint
Junio C Hamano [Mon, 19 Nov 2012 03:31:13 +0000 (19:31 -0800)]
Merge branch 'jc/test-say-color-avoid-echo-escape' into maint

The "say" function in the test scaffolding incorrectly allowed
"echo" to interpret "\a" as if it were a C-string asking for a BEL
output.

* jc/test-say-color-avoid-echo-escape:
  test-lib: Fix say_color () not to interpret \a\b\c in the message

13 years agoMerge branch 'bw/config-lift-variable-name-length-limit' into maint
Junio C Hamano [Mon, 19 Nov 2012 03:29:44 +0000 (19:29 -0800)]
Merge branch 'bw/config-lift-variable-name-length-limit' into maint

The configuration parser had an unnecessary hardcoded limit on
variable names that was not checked consistently.

* bw/config-lift-variable-name-length-limit:
  Remove the hard coded length limit on variable names in config files

13 years agosubmodule: display summary header in bold
Ramkumar Ramachandra [Tue, 13 Nov 2012 15:42:47 +0000 (21:12 +0530)]
submodule: display summary header in bold

Currently, 'git diff --submodule' displays output with a bold diff
header for non-submodules.  So this part is in bold:

    diff --git a/file1 b/file1
    index 30b2f6c..2638038 100644
    --- a/file1
    +++ b/file1

For submodules, the header looks like this:

    Submodule submodule1 012b072..248d0fd:

Unfortunately, it's easy to miss in the output because it's not bold.
Change this.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agodiff: rename "set" variable
Jeff King [Tue, 13 Nov 2012 15:42:46 +0000 (21:12 +0530)]
diff: rename "set" variable

Once upon a time the builtin_diff function used one color, and the color
variables were called "set" and "reset". Nowadays it is a much longer
function and we use several colors (e.g., "add", "del"). Rename "set" to
"meta" to show that it is the color for showing diff meta-info (it still
does not indicate that it is a "color", but at least it matches the
scheme of the other color variables).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agodiff: introduce diff.submodule configuration variable
Ramkumar Ramachandra [Tue, 13 Nov 2012 15:42:45 +0000 (21:12 +0530)]
diff: introduce diff.submodule configuration variable

Introduce a diff.submodule configuration variable corresponding to the
'--submodule' command-line option of 'git diff'.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoDocumentation: move diff.wordRegex from config.txt to diff-config.txt
Ramkumar Ramachandra [Tue, 13 Nov 2012 15:42:44 +0000 (21:12 +0530)]
Documentation: move diff.wordRegex from config.txt to diff-config.txt

19299a8 (Documentation: Move diff.<driver>.* from config.txt to
diff-config.txt, 2011-04-07) moved the diff configuration options to
diff-config.txt, but forgot about diff.wordRegex, which was left
behind in config.txt.  Fix this.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agotcsh-completion re-using git-completion.bash
Marc Khouzam [Fri, 16 Nov 2012 18:43:45 +0000 (13:43 -0500)]
tcsh-completion re-using git-completion.bash

The current tcsh-completion support for Git, as can be found on the
Internet, takes the approach of defining the possible completions
explicitly.  This has the obvious draw-back to require constant
updating as the Git code base evolves.

The approach taken by this commit is to to re-use the advanced bash
completion script and use its result for tcsh completion.  This is
achieved by sourcing the bash script and outputting the completion
result for tcsh consumption.

Three solutions were looked at to implement this approach with (C)
being retained:

  A) Modifications:
          git-completion.bash and new git-completion.tcsh

     Modify the existing git-completion.bash script to support
     being sourced using bash (as now), but also executed using bash.
     When being executed, the script will output the result of the
     computed completion to be re-used elsewhere (e.g., in tcsh).

     The modification to git-completion.bash is made not to be
     tcsh-specific, but to allow future users to also re-use its
     output.  Therefore, to be general, git-completion.bash accepts a
     second optional parameter, which is not used by tcsh, but could
     prove useful for other users.

     Pros:
       1- allows the git-completion.bash script to easily be re-used
       2- tcsh support is mostly isolated in git-completion.tcsh
     Cons (for tcsh users only):
       1- requires the user to copy both git-completion.tcsh and
          git-completion.bash to ${HOME}
       2- requires bash script to have a fixed name and location:
          ${HOME}/.git-completion.bash

  B) Modifications:
          git-completion.bash

     Modify the existing git-completion.bash script to support
     being sourced using bash (as now), but also executed using bash,
     and sourced using tcsh.

     Pros:
       1- only requires the user to deal with a single file
       2- maintenance more obvious for tcsh since it is entirely part
          of the same git-completion.bash script.
     Cons:
       1- tcsh support could affect bash support as they share the
          same script
       2- small tcsh section must use syntax suitable for both tcsh
          and bash and must be at the beginning of the script
       3- requires script to have a fixed name and location:
          ${HOME}/.git-completion.sh (for tcsh users only)

  C) Modifications:
          New git-completion.tcsh

     Provide a short tcsh script that generates another script
     which extends git-completion.bash.  This new script can be
     used by tcsh to perform completion.

     Pros:
       1- tcsh support is entirely isolated in git-completion.tcsh
       2- new tcsh script can be as complex as needed
     Cons (for tcsh users only):
       1- requires the user to copy both git-completion.tcsh and
          git-completion.bash to ${HOME}
       2- requires bash script to have a fixed name and location:
          ${HOME}/.git-completion.bash
       3- sourcing the new script will generate a third script

Approach (C) was selected avoid any modification to git-completion.bash.

Signed-off-by: Marc Khouzam <marc.khouzam@gmail.com>
Reviewed-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agostatus: add advice on how to push/pull to tracking branch
Matthieu Moy [Thu, 15 Nov 2012 10:45:00 +0000 (11:45 +0100)]
status: add advice on how to push/pull to tracking branch

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agocompletion: simplify __gitcomp() test helper
Felipe Contreras [Sun, 11 Nov 2012 14:35:58 +0000 (15:35 +0100)]
completion: simplify __gitcomp() test helper

By using print_comp as suggested by SZEDER Gábor.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agocompletion: refactor __gitcomp related tests
Felipe Contreras [Sun, 11 Nov 2012 14:35:57 +0000 (15:35 +0100)]
completion: refactor __gitcomp related tests

Remove lots of duplicated code; no functional changes intended.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agocompletion: consolidate test_completion*() tests
Felipe Contreras [Sun, 11 Nov 2012 14:35:56 +0000 (15:35 +0100)]
completion: consolidate test_completion*() tests

No need to have two versions; if a second argument is specified, use
that, otherwise use stdin.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agocompletion: simplify tests using test_completion_long()
Felipe Contreras [Sun, 11 Nov 2012 14:35:55 +0000 (15:35 +0100)]
completion: simplify tests using test_completion_long()

No need to duplicate that functionality.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agocompletion: standardize final space marker in tests
Felipe Contreras [Sun, 11 Nov 2012 14:35:54 +0000 (15:35 +0100)]
completion: standardize final space marker in tests

The rest of the code uses ' Z$'. Lets use that for
test_completion_long() as well.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agocompletion: add comment for test_completion()
Felipe Contreras [Sun, 11 Nov 2012 14:35:53 +0000 (15:35 +0100)]
completion: add comment for test_completion()

So that it's easier to understand what it does.

Also, make sure we pass only the first argument for completion.
Shouldn't cause any functional changes because run_completion only
checks $1.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoconfig: don't segfault when given --path with a missing value
Carlos Martín Nieto [Thu, 15 Nov 2012 18:10:01 +0000 (10:10 -0800)]
config: don't segfault when given --path with a missing value

When given a variable without a value, such as '[section] var' and
asking git-config to treat it as a path, git_config_pathname returns
an error and doesn't modify its output parameter. show_config assumes
that the call is always successful and sets a variable to indicate
that vptr should be freed. In case of an error however, trying to do
this will cause the program to be killed, as it's pointing to memory
in the stack.

Detect the error and return immediately to avoid freeing or accessing
the uninitialed memory in the stack.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agousage.c: detect recursion in die routines and bail out immediately
Brandon Casey [Thu, 15 Nov 2012 01:45:52 +0000 (17:45 -0800)]
usage.c: detect recursion in die routines and bail out immediately

It is theoretically possible for a die handler to get into a state of
infinite recursion.  For example, if a die handler called another function
which itself called die().  Let's at least detect this situation, inform the
user, and call exit.

Signed-off-by: Brandon Casey <bcasey@nvidia.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoident: keep separate "explicit" flags for author and committer
Jeff King [Thu, 15 Nov 2012 00:34:13 +0000 (16:34 -0800)]
ident: keep separate "explicit" flags for author and committer

We keep track of whether the user ident was given to us
explicitly, or if we guessed at it from system parameters
like username and hostname. However, we kept only a single
variable. This covers the common cases (because the author
and committer will usually come from the same explicit
source), but can miss two cases:

  1. GIT_COMMITTER_* is set explicitly, but we fallback for
     GIT_AUTHOR. We claim the ident is explicit, even though
     the author is not.

  2. GIT_AUTHOR_* is set and we ask for author ident, but
     not committer ident. We will claim the ident is
     implicit, even though it is explicit.

This patch uses two variables instead of one, updates both
when we set the "fallback" values, and updates them
individually when we read from the environment.

Rather than keep user_ident_sufficiently_given as a
compatibility wrapper, we update the only two callers to
check the committer_ident, which matches their intent and
what was happening already.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoident: make user_ident_explicitly_given static
Jeff King [Thu, 15 Nov 2012 00:34:05 +0000 (16:34 -0800)]
ident: make user_ident_explicitly_given static

In v1.5.6-rc0~56^2 (2008-05-04) "user_ident_explicitly_given"
was introduced as a global for communication between config,
ident, and builtin-commit.  In v1.7.0-rc0~72^2 (2010-01-07)
readers switched to using the common wrapper
user_ident_sufficiently_given().  After v1.7.11-rc1~15^2~18
(2012-05-21), the var is only written in ident.c.

Now we can make it static, which will enable further
refactoring without worrying about upsetting other code.

Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agot7502: factor out autoident prerequisite
Jeff King [Thu, 15 Nov 2012 00:33:40 +0000 (16:33 -0800)]
t7502: factor out autoident prerequisite

t7502 checks the behavior of commit when we can and cannot
determine a valid committer ident. Let's move that into
test-lib as a lazy prerequisite so other scripts can use it.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agotest-lib: allow negation of prerequisites
Jeff King [Thu, 15 Nov 2012 00:33:25 +0000 (16:33 -0800)]
test-lib: allow negation of prerequisites

You can set and test a prerequisite like this:

  test_set_prereq FOO
  test_have_prereq FOO && echo yes

You can negate the test in the shell like this:

  ! test_have_prereq && echo no

However, when you are using the automatic prerequisite
checking in test_expect_*, there is no opportunity to use
the shell negation.  This patch introduces the syntax "!FOO"
to indicate that the test should only run if a prerequisite
is not meant.

One alternative is to set an explicit negative prerequisite,
like:

  if system_has_foo; then
  test_set_prereq FOO
  else
  test_set_prereq NO_FOO
  fi

However, this doesn't work for lazy prerequisites, which
associate a single test with a single name. We could teach
the lazy prereq evaluator to set both forms, but the code
change ends up quite similar to this one (because we still
need to convert NO_FOO into FOO to find the correct lazy
script).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agocheckout: print a message when switching unborn branches
Jeff King [Thu, 15 Nov 2012 17:12:33 +0000 (09:12 -0800)]
checkout: print a message when switching unborn branches

When we switch to a new branch using checkout, we usually output a
message indicating what happened. However, when we switch from an unborn
branch to a new branch, we do not print anything, which may leave the
user wondering what happened.

The reason is that the unborn branch is a special case (see abe1998),
and does not follow the usual switch_branches code path. Let's add a
similar informational message to the special case to match the usual
code path.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoStart 1.8.1 cycle
Junio C Hamano [Thu, 15 Nov 2012 19:21:47 +0000 (11:21 -0800)]
Start 1.8.1 cycle

Prepare the release notes for the upcoming release, and describe
changes up to the 5th batch we just merged.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'jc/prettier-pretty-note'
Junio C Hamano [Thu, 15 Nov 2012 18:25:05 +0000 (10:25 -0800)]
Merge branch 'jc/prettier-pretty-note'

Emit the notes attached to the commit in "format-patch --notes"
output after three-dashes.

* jc/prettier-pretty-note:
  format-patch: add a blank line between notes and diffstat
  Doc User-Manual: Patch cover letter, three dashes, and --notes
  Doc format-patch: clarify --notes use case
  Doc notes: Include the format-patch --notes option
  Doc SubmittingPatches: Mention --notes option after "cover letter"
  Documentation: decribe format-patch --notes
  format-patch --notes: show notes after three-dashes
  format-patch: append --signature after notes
  pretty_print_commit(): do not append notes message
  pretty: prepare notes message at a centralized place
  format_note(): simplify API
  pretty: remove reencode_commit_message()

13 years agoMerge branch 'mg/maint-pull-suggest-upstream-to'
Junio C Hamano [Thu, 15 Nov 2012 18:24:59 +0000 (10:24 -0800)]
Merge branch 'mg/maint-pull-suggest-upstream-to'

Follow-on to the new "--set-upstream-to" topic from v1.8.0 to avoid
suggesting the deprecated "--set-upstream".

* mg/maint-pull-suggest-upstream-to:
  push/pull: adjust missing upstream help text to changed interface

13 years agoMerge branch 'mh/notes-string-list'
Junio C Hamano [Thu, 15 Nov 2012 18:24:53 +0000 (10:24 -0800)]
Merge branch 'mh/notes-string-list'

Improve the asymptotic performance of the cat_sort_uniq notes merge
strategy.

* mh/notes-string-list:
  string_list_add_refs_from_colon_sep(): use string_list_split()
  notes: fix handling of colon-separated values
  combine_notes_cat_sort_uniq(): sort and dedup lines all at once
  Initialize sort_uniq_list using named constant
  string_list: add a function string_list_remove_empty_items()

13 years agoMerge branch 'mh/strbuf-split'
Junio C Hamano [Thu, 15 Nov 2012 18:24:49 +0000 (10:24 -0800)]
Merge branch 'mh/strbuf-split'

Cleanups and documentation for strbuf_split.

* mh/strbuf-split:
  strbuf_split*(): document functions
  strbuf_split*(): rename "delim" parameter to "terminator"
  strbuf_split_buf(): simplify iteration
  strbuf_split_buf(): use ALLOC_GROW()

13 years agoMerge branch 'mm/maint-doc-commit-edit'
Junio C Hamano [Thu, 15 Nov 2012 18:24:44 +0000 (10:24 -0800)]
Merge branch 'mm/maint-doc-commit-edit'

* mm/maint-doc-commit-edit:
  Document 'git commit --no-edit' explicitly

13 years agoMerge branch 'as/maint-doc-fix-no-post-rewrite'
Junio C Hamano [Thu, 15 Nov 2012 18:24:29 +0000 (10:24 -0800)]
Merge branch 'as/maint-doc-fix-no-post-rewrite'

* as/maint-doc-fix-no-post-rewrite:
  commit: fixup misplacement of --no-post-rewrite description

13 years agoMerge branch 'js/hp-nonstop'
Junio C Hamano [Thu, 15 Nov 2012 18:24:13 +0000 (10:24 -0800)]
Merge branch 'js/hp-nonstop'

Finishing touches to port to HP NonStop continues.

* js/hp-nonstop:
  fix 'make test' for HP NonStop

13 years agoMerge branch 'cr/cvsimport-local-zone'
Junio C Hamano [Thu, 15 Nov 2012 18:24:09 +0000 (10:24 -0800)]
Merge branch 'cr/cvsimport-local-zone'

Allows "cvsimport" to read per-author timezone from the author info
file.

* cr/cvsimport-local-zone:
  cvsimport: work around perl tzset issue
  git-cvsimport: allow author-specific timezones

13 years agoMerge branch 'jc/same-encoding'
Junio C Hamano [Thu, 15 Nov 2012 18:24:05 +0000 (10:24 -0800)]
Merge branch 'jc/same-encoding'

Various codepaths checked if two encoding names are the same using
ad-hoc code and some of them ended up asking iconv() to convert
between "utf8" and "UTF-8".  The former is not a valid way to spell
the encoding name, but often people use it by mistake, and we
equated them in some but not all codepaths. Introduce a new helper
function to make these codepaths consistent.

* jc/same-encoding:
  reencode_string(): introduce and use same_encoding()

Conflicts:
builtin/mailinfo.c

13 years agoMerge branch 'ph/submodule-sync-recursive'
Junio C Hamano [Thu, 15 Nov 2012 18:24:01 +0000 (10:24 -0800)]
Merge branch 'ph/submodule-sync-recursive'

Adds "--recursive" option to submodule sync.

* ph/submodule-sync-recursive:
  Add tests for submodule sync --recursive
  Teach --recursive to submodule sync

13 years agoMerge branch 'jk/maint-diff-grep-textconv'
Junio C Hamano [Thu, 15 Nov 2012 18:23:57 +0000 (10:23 -0800)]
Merge branch 'jk/maint-diff-grep-textconv'

Fixes inconsistent use of textconv with "git log -G".

* jk/maint-diff-grep-textconv:
  diff_grep: use textconv buffers for add/deleted files

13 years agoMerge branch 'jh/symbolic-ref-d'
Junio C Hamano [Thu, 15 Nov 2012 18:23:51 +0000 (10:23 -0800)]
Merge branch 'jh/symbolic-ref-d'

Add "symbolic-ref -d SYM" to delete a symbolic ref SYM.

It is already possible to remove a symbolic ref with "update-ref -d
--no-deref", but it may be a good addition for completeness.

* jh/symbolic-ref-d:
  git symbolic-ref --delete $symref

13 years agoMerge branch 'jc/maint-fetch-tighten-refname-check'
Junio C Hamano [Thu, 15 Nov 2012 18:22:54 +0000 (10:22 -0800)]
Merge branch 'jc/maint-fetch-tighten-refname-check'

For a fetch refspec (or the result of applying wildcard on one), we
always want the RHS to map to something inside "refs/" hierarchy.

This was split out from discarded jc/maint-push-refs-all topic.

* jc/maint-fetch-tighten-refname-check:
  get_fetch_map(): tighten checks on dest refs

13 years agodocs: move submodule section
Matt Kraai [Wed, 14 Nov 2012 18:49:04 +0000 (10:49 -0800)]
docs: move submodule section

293ab15e ("submodule: teach rm to remove submodules unless they
contain a git directory", 2012-09-26) inserted the "Submodules"
section between a sentence describing a command and the command.  Move
the "Submodules" section further down.

Noticed-by: Horst H. von Brand
Signed-off-by: Matt Kraai <kraai@ftbfs.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agocompletion: remove 'help' duplicate from porcelain commands
SZEDER Gábor [Wed, 14 Nov 2012 00:49:30 +0000 (01:49 +0100)]
completion: remove 'help' duplicate from porcelain commands

The list of all git commands is computed from the output of 'git help
-a', which already includes 'help', so there is no need to explicitly
add it once more when computing the list of porcelain commands.

Note that 'help' wasn't actually offered twice because of this,
because Bash filters duplicates from possible completion words.

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agogit-gui: Fix parsing of <rev> <path-which-not-present-in-worktree>
Kirill Smelkov [Tue, 13 Nov 2012 12:30:17 +0000 (16:30 +0400)]
git-gui: Fix parsing of <rev> <path-which-not-present-in-worktree>

Commit e3d06ca9 (git-gui: Detect full path when parsing arguments) broke

    git gui blame rev path-not-present-in-worktree

in particular this does not work anymore:

    # in linux.git
    $ git gui blame 2bb8c26242c2393b097a993ffe9b003ec9b85395 drivers/net/sky2.c

This patch restores the original functionality in this case.

Acked-by: Andrew Wong <andrew.kw.w@gmail.com>
Signed-off-by: Kirill Smelkov <kirr@mns.spb.ru>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
13 years agoformat-patch: add a blank line between notes and diffstat
Junio C Hamano [Tue, 13 Nov 2012 18:09:07 +0000 (10:09 -0800)]
format-patch: add a blank line between notes and diffstat

The last line of the note text comes immediately before the diffstat
block, making the latter unnecessarily harder to view.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoreplace: parse revision argument for -d
Michael J Gruber [Tue, 13 Nov 2012 10:34:11 +0000 (11:34 +0100)]
replace: parse revision argument for -d

'git replace' parses the revision arguments when it creates replacements
(so that a sha1 can be abbreviated, e.g.) but not when deleting
replacements.

Make it parse the argument to 'replace -d' in the same way.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Jeff King <peff@peff.net>
13 years agogitweb: escape html in rss title
Jeff King [Mon, 12 Nov 2012 21:34:28 +0000 (16:34 -0500)]
gitweb: escape html in rss title

The title of an RSS feed is generated from many components,
including the filename provided as a query parameter, but we
failed to quote it.  Besides showing the wrong output, this
is a vector for XSS attacks.

Signed-off-by: Jeff King <peff@peff.net>
13 years agoUpdate cygwin.c for new mingw-64 win32 api headers
Mark Levedahl [Mon, 12 Nov 2012 00:17:20 +0000 (19:17 -0500)]
Update cygwin.c for new mingw-64 win32 api headers

The cygwin project recently switched to a new implementation of the
windows api, now using header files from the mingw-64 project. These
new header files are incompatible with the way cygwin.c included the
old headers: cygwin.c can be compiled using the new or the older (mingw)
headers, but different files must be included in different order for each
to work. The new headers are in use only for the current release series
(based upon the v1.7.x dll version). The previous release series using
the v1.5 dll is kept available but unmaintained for use on older versions
of Windows. So, patch cygwin.c to use the new include ordering only if
the dll version is 1.7 or higher.

Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: avoid bad refs
Felipe Contreras [Mon, 12 Nov 2012 17:41:08 +0000 (18:41 +0100)]
remote-hg: avoid bad refs

Turns out fast-export throws bad 'reset' commands because of a behavior
in transport-helper that is not even needed.

Either way, better to ignore them, otherwise the user will get warnings
when we OK them.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: try the 'tip' if no checkout present
Felipe Contreras [Mon, 12 Nov 2012 17:41:07 +0000 (18:41 +0100)]
remote-hg: try the 'tip' if no checkout present

There's no concept of HEAD in mercurial, but let's try our best to do
something sensible.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: fix compatibility with older versions of hg
Felipe Contreras [Mon, 12 Nov 2012 17:41:06 +0000 (18:41 +0100)]
remote-hg: fix compatibility with older versions of hg

Turns out repo.revs was introduced quite late, and it doesn't do
anything fancy for our refspec; only list all the numbers in that range.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: add missing config for basic tests
Ramkumar Ramachandra [Mon, 12 Nov 2012 17:41:05 +0000 (18:41 +0100)]
remote-hg: add missing config for basic tests

'hg commit' fails otherwise in some versions of mercurial because of
the missing user information. Other versions simply throw a warning and
guess though.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoMerge branch 'ph/maint-submodule-status-fix'
Jeff King [Fri, 9 Nov 2012 17:51:15 +0000 (12:51 -0500)]
Merge branch 'ph/maint-submodule-status-fix'

Cleans up some leftover bits from an earlier submodule change.

* ph/maint-submodule-status-fix:
  submodule status: remove unused orig_* variables
  t7407: Fix recursive submodule test

13 years agoMerge branch 'nd/builtin-to-libgit'
Jeff King [Fri, 9 Nov 2012 17:51:06 +0000 (12:51 -0500)]
Merge branch 'nd/builtin-to-libgit'

Code cleanups so that libgit.a does not depend on anything in the
builtin/ directory.

* nd/builtin-to-libgit:
  fetch-pack: move core code to libgit.a
  fetch-pack: remove global (static) configuration variable "args"
  send-pack: move core code to libgit.a
  Move setup_diff_pager to libgit.a
  Move print_commit_list to libgit.a
  Move estimate_bisect_steps to libgit.a
  Move try_merge_command and checkout_fast_forward to libgit.a

13 years agoMerge branch 'nd/tree-walk-enum-cleanup'
Jeff King [Fri, 9 Nov 2012 17:51:02 +0000 (12:51 -0500)]
Merge branch 'nd/tree-walk-enum-cleanup'

* nd/tree-walk-enum-cleanup:
  tree-walk: use enum interesting instead of integer

13 years agoMerge branch 'sz/maint-curl-multi-timeout'
Jeff King [Fri, 9 Nov 2012 17:50:56 +0000 (12:50 -0500)]
Merge branch 'sz/maint-curl-multi-timeout'

Sometimes curl_multi_timeout() function suggested a wrong timeout
value when there is no file descriptors to wait on and the http
transport ended up sleeping for minutes in select(2) system call.
Detect this and reduce the wait timeout in such a case.

* sz/maint-curl-multi-timeout:
  Fix potential hang in https handshake

13 years agoMerge branch 'fc/completion-send-email-with-format-patch'
Jeff King [Fri, 9 Nov 2012 17:50:45 +0000 (12:50 -0500)]
Merge branch 'fc/completion-send-email-with-format-patch'

* fc/completion-send-email-with-format-patch:
  completion: add format-patch options to send-email

13 years agoMerge branch 'mo/cvs-server-cleanup'
Jeff King [Fri, 9 Nov 2012 17:50:36 +0000 (12:50 -0500)]
Merge branch 'mo/cvs-server-cleanup'

Cleanups to prepare for mo/cvs-server-updates.

* mo/cvs-server-cleanup:
  Use character class for sed expression instead of \s
  cvsserver status: provide real sticky info
  cvsserver: cvs add: do not expand directory arguments
  cvsserver: use whole CVS rev number in-process; don't strip "1." prefix
  cvsserver: split up long lines in req_{status,diff,log}
  cvsserver: clean up client request handler map comments
  cvsserver: remove unused functions _headrev and gethistory
  cvsserver update: comment about how we shouldn't remove a user-modified file
  cvsserver: add comments about database schema/usage
  cvsserver: removed unused sha1Or-k mode from kopts_from_path
  cvsserver t9400: add basic 'cvs log' test

13 years agoMerge branch 'km/send-email-compose-encoding'
Jeff King [Fri, 9 Nov 2012 17:50:29 +0000 (12:50 -0500)]
Merge branch 'km/send-email-compose-encoding'

"git send-email --compose" can let the user create a non-ascii
cover letter message, but there was not a way to mark it with
appropriate content type before sending it out.

Further updates fix subject quoting.

* km/send-email-compose-encoding:
  git-send-email: add rfc2047 quoting for "=?"
  git-send-email: introduce quote_subject()
  git-send-email: skip RFC2047 quoting for ASCII subjects
  git-send-email: use compose-encoding for Subject
  git-send-email: introduce compose-encoding

13 years agoMerge branch 'js/format-2047'
Jeff King [Fri, 9 Nov 2012 17:42:32 +0000 (12:42 -0500)]
Merge branch 'js/format-2047'

Fixes many rfc2047 quoting issues in the output from format-patch.

* js/format-2047:
  format-patch tests: check quoting/encoding in To: and Cc: headers
  format-patch: fix rfc2047 address encoding with respect to rfc822 specials
  format-patch: make rfc2047 encoding more strict
  format-patch: introduce helper function last_line_length()
  format-patch: do not wrap rfc2047 encoded headers too late
  format-patch: do not wrap non-rfc2047 headers too early
  utf8: fix off-by-one wrapping of text

13 years agoMerge branch 'rs/lock-correct-ref-during-delete'
Jeff King [Fri, 9 Nov 2012 17:42:28 +0000 (12:42 -0500)]
Merge branch 'rs/lock-correct-ref-during-delete'

When "update-ref -d --no-deref SYM" tried to delete a symbolic ref
SYM, it incorrectly locked the underlying reference pointed by SYM,
not the symbolic ref itself.

* rs/lock-correct-ref-during-delete:
  refs: lock symref that is to be deleted, not its target

13 years agoMerge branch 'nd/attr-match-optim-more'
Jeff King [Fri, 9 Nov 2012 17:42:25 +0000 (12:42 -0500)]
Merge branch 'nd/attr-match-optim-more'

Start laying the foundation to build the "wildmatch" after we can
agree on its desired semantics.

* nd/attr-match-optim-more:
  attr: more matching optimizations from .gitignore
  gitignore: make pattern parsing code a separate function
  exclude: split pathname matching code into a separate function
  exclude: fix a bug in prefix compare optimization
  exclude: split basename matching code into a separate function
  exclude: stricten a length check in EXC_FLAG_ENDSWITH case

13 years agoMerge branch 'mh/maint-parse-dirstat-fix'
Jeff King [Fri, 9 Nov 2012 17:42:21 +0000 (12:42 -0500)]
Merge branch 'mh/maint-parse-dirstat-fix'

Cleans up some code and avoids a potential bug.

* mh/maint-parse-dirstat-fix:
  parse_dirstat_params(): use string_list to split comma-separated string

13 years agodoc/fast-import: clarify how content states are built
Eric S. Raymond [Mon, 5 Nov 2012 04:31:01 +0000 (23:31 -0500)]
doc/fast-import: clarify how content states are built

Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agogitweb.perl: fix %highlight_ext mappings
Richard Hubbell [Sun, 4 Nov 2012 17:45:55 +0000 (09:45 -0800)]
gitweb.perl: fix %highlight_ext mappings

When commit 592ea41 refactored the list of extensions for
syntax highlighting, it failed to take into account perl's
operator precedence within lists. As a result, we end up
creating a dictionary of one-to-one elements when the intent
was to map mutliple related types to one main type (e.g.,
bash, ksh, zsh, and sh should all map to sh since they share
similar syntax, but we ended up just mapping "bash" to
"bash" and so forth).

This patch adds parentheses to make the mapping as the
original change intended. It also reorganizes the list to
keep mapped extensions together.

Signed-off-by: Richard Hubbell <richard_hubbe11@lavabit.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agogit p4: RCS expansion should not span newlines
Pete Wyckoff [Sun, 4 Nov 2012 22:04:02 +0000 (17:04 -0500)]
git p4: RCS expansion should not span newlines

This bug was introduced in cb585a9 (git-p4: keyword
flattening fixes, 2011-10-16).  The newline character
is indeed special, and $File$ expansions should not try
to match across multiple lines.

Based-on-patch-by: Chris Goard <cgoard@gmail.com>
Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agolink_alt_odb_entries(): take (char *, len) rather than two pointers
Michael Haggerty [Mon, 5 Nov 2012 08:41:23 +0000 (09:41 +0100)]
link_alt_odb_entries(): take (char *, len) rather than two pointers

Change link_alt_odb_entries() to take the length of the "alt"
parameter rather than a pointer to the end of the "alt" string.  This
is the more common calling convention and simplifies the code a tiny
bit.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Jeff King <peff@peff.net>
13 years agolink_alt_odb_entries(): use string_list_split_in_place()
Michael Haggerty [Mon, 5 Nov 2012 08:41:22 +0000 (09:41 +0100)]
link_alt_odb_entries(): use string_list_split_in_place()

Change link_alt_odb_entry() to take a NUL-terminated string instead of
(char *, len).  Use string_list_split_in_place() rather than inline
code in link_alt_odb_entries().

This approach saves some code and also avoids the (probably harmless)
error of passing a non-NUL-terminated string to is_absolute_path().

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Jeff King <peff@peff.net>
13 years agostring_list_add_refs_from_colon_sep(): use string_list_split()
Michael Haggerty [Sun, 4 Nov 2012 07:07:10 +0000 (08:07 +0100)]
string_list_add_refs_from_colon_sep(): use string_list_split()

It makes for simpler code than strbuf_split().

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Jeff King <peff@peff.net>
13 years agonotes: fix handling of colon-separated values
Michael Haggerty [Sun, 4 Nov 2012 07:07:09 +0000 (08:07 +0100)]
notes: fix handling of colon-separated values

The substrings output by strbuf_split() include the ':' delimiters.
When processing GIT_NOTES_DISPLAY_REF and GIT_NOTES_REWRITE_REF, strip
off the delimiter character *before* checking whether the substring is
empty rather than after, so that empty strings within the list are
also skipped.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Jeff King <peff@peff.net>
13 years agocombine_notes_cat_sort_uniq(): sort and dedup lines all at once
Michael Haggerty [Sun, 4 Nov 2012 07:07:08 +0000 (08:07 +0100)]
combine_notes_cat_sort_uniq(): sort and dedup lines all at once

Instead of reading lines one by one and insertion-sorting them into a
string_list, read all of the lines, sort them, then remove duplicates.
Aside from being less code, this reduces the complexity from O(N^2) to
O(N lg N) in the total number of lines.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoInitialize sort_uniq_list using named constant
Michael Haggerty [Sun, 4 Nov 2012 07:07:07 +0000 (08:07 +0100)]
Initialize sort_uniq_list using named constant

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Jeff King <peff@peff.net>
13 years agostring_list: add a function string_list_remove_empty_items()
Michael Haggerty [Sun, 4 Nov 2012 07:07:06 +0000 (08:07 +0100)]
string_list: add a function string_list_remove_empty_items()

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Jeff King <peff@peff.net>
13 years agopush/pull: adjust missing upstream help text to changed interface
Michael J Gruber [Tue, 6 Nov 2012 10:29:01 +0000 (11:29 +0100)]
push/pull: adjust missing upstream help text to changed interface

In case of a missing upstream, the git-parse-remote script suggests:

If you wish to set tracking information for this branch you can do so
with:

    git branch --set-upstream nsiv2 origin/<branch>

But --set-upstream is deprectated. Change the suggestion to:

    git branch --set-upstream-to=origin/<branch> nsiv2

Reported-by: Jeroen van der Ham <vdham@uva.nl>
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: the author email can be null
Felipe Contreras [Sun, 4 Nov 2012 02:13:38 +0000 (03:13 +0100)]
remote-hg: the author email can be null

Like 'Foo <>'.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: add option to not track branches
Felipe Contreras [Sun, 4 Nov 2012 02:13:37 +0000 (03:13 +0100)]
remote-hg: add option to not track branches

Some people prefer it this way.

 % git config --global remote-hg.track-branches false

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: add extra author test
Felipe Contreras [Sun, 4 Nov 2012 02:13:36 +0000 (03:13 +0100)]
remote-hg: add extra author test

For hg.hg.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: add tests to compare with hg-git
Felipe Contreras [Sun, 4 Nov 2012 02:13:35 +0000 (03:13 +0100)]
remote-hg: add tests to compare with hg-git

The base commands come from the tests of the hg-git project.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: add bidirectional tests
Felipe Contreras [Sun, 4 Nov 2012 02:13:34 +0000 (03:13 +0100)]
remote-hg: add bidirectional tests

Base commands from hg-git tests:
https://bitbucket.org/durin42/hg-git/src

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agotest-lib: avoid full path to store test results
Felipe Contreras [Sun, 4 Nov 2012 02:13:33 +0000 (03:13 +0100)]
test-lib: avoid full path to store test results

No reason to use the full path in case this is used externally.

Otherwise we might get errors such as:

./test-lib.sh: line 394: /home/bob/dev/git/t/test-results//home/bob/dev/git/contrib/remote-hg/test-2894.counts: No such file or directory

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: add basic tests
Felipe Contreras [Sun, 4 Nov 2012 02:13:32 +0000 (03:13 +0100)]
remote-hg: add basic tests

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: fake bookmark when there's none
Felipe Contreras [Sun, 4 Nov 2012 02:13:31 +0000 (03:13 +0100)]
remote-hg: fake bookmark when there's none

Or at least no current bookmark.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: add compat for hg-git author fixes
Felipe Contreras [Sun, 4 Nov 2012 02:13:30 +0000 (03:13 +0100)]
remote-hg: add compat for hg-git author fixes

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: add support for hg-git compat mode
Felipe Contreras [Sun, 4 Nov 2012 02:13:29 +0000 (03:13 +0100)]
remote-hg: add support for hg-git compat mode

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: match hg merge behavior
Felipe Contreras [Sun, 4 Nov 2012 02:13:28 +0000 (03:13 +0100)]
remote-hg: match hg merge behavior

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: make sure the encoding is correct
Felipe Contreras [Sun, 4 Nov 2012 02:13:27 +0000 (03:13 +0100)]
remote-hg: make sure the encoding is correct

Independently of the environment.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: add support to push URLs
Felipe Contreras [Sun, 4 Nov 2012 02:13:26 +0000 (03:13 +0100)]
remote-hg: add support to push URLs

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: add support for remote pushing
Felipe Contreras [Sun, 4 Nov 2012 02:13:25 +0000 (03:13 +0100)]
remote-hg: add support for remote pushing

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoremote-hg: add support for pushing
Felipe Contreras [Sun, 4 Nov 2012 02:13:24 +0000 (03:13 +0100)]
remote-hg: add support for pushing

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoAdd new remote-hg transport helper
Felipe Contreras [Sun, 4 Nov 2012 02:13:23 +0000 (03:13 +0100)]
Add new remote-hg transport helper

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
13 years agoreencode_string(): introduce and use same_encoding()
Junio C Hamano [Fri, 19 Oct 2012 05:41:56 +0000 (22:41 -0700)]
reencode_string(): introduce and use same_encoding()

Callers of reencode_string() that re-encodes a string from one
encoding to another all used ad-hoc way to bypass the case where the
input and the output encodings are the same.  Some did strcmp(),
some did strcasecmp(), yet some others when converting to UTF-8 used
is_encoding_utf8().

Introduce same_encoding() helper function to make these callers use
the same logic.  Notably, is_encoding_utf8() has a work-around for
common misconfiguration to use "utf8" to name UTF-8 encoding, which
does not match "UTF-8" hence strcasecmp() would not consider the
same.  Make use of it in this helper function.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agocvsimport: work around perl tzset issue
Jeff King [Sun, 4 Nov 2012 12:25:36 +0000 (07:25 -0500)]
cvsimport: work around perl tzset issue

On many platforms, the first invocation of localtime_r will
check $TZ in the environment, but subsequent invocations
will use a cached value. That means that setting $ENV{TZ} in
the middle of the program may or may not have an effect on
later calls to localtime.  Perl 5.10.0 and later handles
this automatically for us, but we try to remain portable
back to 5.8. Work around it by calling tzset ourselves.

13 years agoMerge branch 'tj/maint-doc-commit-sign'
Jeff King [Sun, 4 Nov 2012 13:00:47 +0000 (08:00 -0500)]
Merge branch 'tj/maint-doc-commit-sign'

* tj/maint-doc-commit-sign:
  Add -S, --gpg-sign option to manpage of "git commit"

13 years agoMerge branch 'pp/maint-doc-pager-config'
Jeff King [Sun, 4 Nov 2012 13:00:37 +0000 (08:00 -0500)]
Merge branch 'pp/maint-doc-pager-config'

* pp/maint-doc-pager-config:
  Documentation: improve the example of overriding LESS via core.pager