]> Pileus Git - ~andy/git/log
~andy/git
11 years agoAdd tests for submodule sync --recursive
Phil Hord [Fri, 26 Oct 2012 19:44:43 +0000 (15:44 -0400)]
Add tests for submodule sync --recursive

Signed-off-by: Phil Hord <hordp@cisco.com>
Acked-By: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoTeach --recursive to submodule sync
Phil Hord [Fri, 26 Oct 2012 19:44:42 +0000 (15:44 -0400)]
Teach --recursive to submodule sync

The submodule sync command was somehow left out when
--recursive was added to the other submodule commands.

Teach sync to handle the --recursive switch by recursing
when we're in a submodule we are sync'ing.

Change the report during sync to show submodule-path
instead of submodule-name to be consistent with the other
submodule commands and to help recursed paths make sense.

Signed-off-by: Phil Hord <hordp@cisco.com>
Acked-By: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Jeff King <peff@peff.net>
11 years agosubmodule status: remove unused orig_* variables
Jens Lehmann [Sun, 28 Oct 2012 21:37:16 +0000 (22:37 +0100)]
submodule status: remove unused orig_* variables

When renaming orig_args to orig_flags in 98dbe63d (submodule: only
preserve flags across recursive status/update invocations) the call site
of the recursive cmd_status was forgotten. At that place orig_args is
still passed into the recursion, which is always empty since then. This
did not break anything because the orig_flags logic is not needed at all
when a function from the submodule script is called with eval, as that
inherits all the variables set by the option parsing done in the first
level of the recursion.

Now that we know that orig_flags and orig_args aren't needed at all,
let's just remove them from cmd_status().

Thanks-to: Phil Hord <hordp@cisco.com>
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Jeff King <peff@peff.net>
11 years agot7407: Fix recursive submodule test
Phil Hord [Fri, 26 Oct 2012 19:13:54 +0000 (15:13 -0400)]
t7407: Fix recursive submodule test

A test in t7404-submodule-foreach purports to test that
the --cached flag is properly noticed by --recursive calls
to the foreach command as it descends into nested
submodules.  However, the test really does not perform this
test since the change it looks for is in a top-level
submodule handled by the first invocation of the command.
To properly test for the flag being passed to recursive
invocations, the change must be buried deeper in the
hierarchy.

Move the change one level deeper so it properly verifies
the recursive machinery of the 'git submodule status'
command.

Signed-off-by: Phil Hord <hordp@cisco.com>
Signed-off-by: Jeff King <peff@peff.net>
11 years agofetch-pack: remove global (static) configuration variable "args"
Nguyễn Thái Ngọc Duy [Fri, 26 Oct 2012 15:53:54 +0000 (22:53 +0700)]
fetch-pack: remove global (static) configuration variable "args"

This helps removes the hack in fetch_pack() that copies my_args to args.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
11 years agosend-pack: move core code to libgit.a
Nguyễn Thái Ngọc Duy [Fri, 26 Oct 2012 15:53:53 +0000 (22:53 +0700)]
send-pack: move core code to libgit.a

send_pack() is used by transport.c, part of libgit.a while it stays in
builtin/send-pack.c. Move it to send-pack.c so that we won't get
undefined reference if a program that uses libgit.a happens to pull it
in.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoMove setup_diff_pager to libgit.a
Nguyễn Thái Ngọc Duy [Fri, 26 Oct 2012 15:53:52 +0000 (22:53 +0700)]
Move setup_diff_pager to libgit.a

This is used by diff-no-index.c, part of libgit.a while it stays in
builtin/diff.c. Move it to diff.c so that we won't get undefined
reference if a program that uses libgit.a happens to pull it in.

While at it, move check_pager from git.c to pager.c. It makes more
sense there and pager.c is also part of libgit.a

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoMove print_commit_list to libgit.a
Nguyễn Thái Ngọc Duy [Fri, 26 Oct 2012 15:53:51 +0000 (22:53 +0700)]
Move print_commit_list to libgit.a

This is used by bisect.c, part of libgit.a while it stays in
builtin/rev-list.c. Move it to commit.c so that we won't get undefined
reference if a program that uses libgit.a happens to pull it in.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoMove estimate_bisect_steps to libgit.a
Nguyễn Thái Ngọc Duy [Fri, 26 Oct 2012 15:53:50 +0000 (22:53 +0700)]
Move estimate_bisect_steps to libgit.a

This function is used by bisect.c, part of libgit.a while
estimate_bisect_steps stays in builtin/rev-list.c. Move it to bisect.a
so we won't have undefine reference if a standalone program that uses
libgit.a happens to pull it in.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoMove try_merge_command and checkout_fast_forward to libgit.a
Nguyễn Thái Ngọc Duy [Fri, 26 Oct 2012 15:53:49 +0000 (22:53 +0700)]
Move try_merge_command and checkout_fast_forward to libgit.a

These functions are called in sequencer.c, which is part of
libgit.a. This makes libgit.a potentially require builtin/merge.c for
external git commands.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoparse_dirstat_params(): use string_list to split comma-separated string
Michael Haggerty [Sun, 28 Oct 2012 16:50:54 +0000 (17:50 +0100)]
parse_dirstat_params(): use string_list to split comma-separated string

Use string_list_split_in_place() to split the comma-separated
parameters string.  This simplifies the code and also fixes a bug: the
old code made calls like

    memcmp(p, "lines", p_len)

which needn't work if p_len is different than the length of the
constant string (and could illegally access memory if p_len is larger
than the length of the constant string).

When p_len was less than the length of the constant string, the old
code would have allowed some abbreviations to be accepted (e.g., "cha"
for "changes") but this seems to have been a bug rather than a
feature, because (1) it is not documented; (2) no attempt was made to
handle ambiguous abbreviations, like "c" for "changes" vs
"cumulative".

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoDocumentation: improve the example of overriding LESS via core.pager
Patrick Palka [Sun, 28 Oct 2012 20:12:46 +0000 (16:12 -0400)]
Documentation: improve the example of overriding LESS via core.pager

You can override an option set in the LESS variable by simply prefixing
the command line option with `-+`. This is more robust than the previous
example if the default LESS options are to ever change.

Signed-off-by: Patrick Palka <patrick@parcs.ath.cx>
Signed-off-by: Jeff King <peff@peff.net>
11 years agodoc: git-reset: make "<mode>" optional
Krzysztof Mazur [Sun, 28 Oct 2012 14:13:27 +0000 (15:13 +0100)]
doc: git-reset: make "<mode>" optional

The git-reset's "<mode>" is an optional argument, however it was
documented as required.

The "<mode>" is documented as one of: --soft, --mixed, --hard, --merge
or --keep, so "<mode>" should be used instead of "--<mode>".

Signed-off-by: Krzysztof Mazur <krzysiek@podlesie.net>
Signed-off-by: Jeff King <peff@peff.net>
11 years agodiff_grep: use textconv buffers for add/deleted files
Jeff King [Sun, 28 Oct 2012 11:40:00 +0000 (07:40 -0400)]
diff_grep: use textconv buffers for add/deleted files

If you use "-G" to grep a diff, we will apply a configured
textconv filter to the data before generating the diff.
However, if the diff is an addition or deletion, we do not
bother running the diff at all, and just look for the token
in the added (or removed) content. This works because we
know that the diff must contain every line of content.

However, while we used the textconv-derived buffers in the
regular diff, we accidentally passed the original unmodified
buffers to regexec when checking the added or removed
content. This could lead to an incorrect answer.

Worse, in some cases we might have a textconv buffer but no
original buffer (e.g., if we pulled the textconv data from
cache, or if we reused a working tree file when generating
it). In that case, we could actually feed NULL to regexec
and segfault.

Reported-by: Peter Oberndorfer <kumbayo84@arcor.de>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoFix t9200 on case insensitive file systems
Torsten Bögershausen [Fri, 26 Oct 2012 16:18:24 +0000 (18:18 +0200)]
Fix t9200 on case insensitive file systems

t9200 defines $CVSROOT where cvs should init its repository
$CVSROOT is set to $PWD/cvsroot.
cvs init is supposed to create the repository inside $PWD/cvsroot/CVSROOT

"cvs init" (e.g. version  1.11.23) checks if the last element of the path is
"CVSROOT", and if a directory with e.g. $PWD/cvsroot/CVSROOT already exists.

For such a $CVSROOT cvs refuses to init a repository here:
"Cannot initialize repository under existing CVSROOT:

On a case insenstive file system cvsroot and CVSROOT are the same directories
and t9200 fails.

Solution: use $PWD/tmpcvsroot instead of cvsroot $PWD/cvsroot

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Jeff King <peff@peff.net>
11 years agomailmap: avoid out-of-bounds memory access
Romain Francoise [Sat, 27 Oct 2012 22:49:55 +0000 (00:49 +0200)]
mailmap: avoid out-of-bounds memory access

AddressSanitizer (http://clang.llvm.org/docs/AddressSanitizer.html)
complains of a one-byte buffer underflow in parse_name_and_email() while
running the test suite. And indeed, if one of the lines in the mailmap
begins with '<', we dereference the address just before the beginning of
the buffer when looking for whitespace to remove, before checking that
we aren't going too far.

So reverse the order of the tests to make sure that we don't read
outside the buffer.

Signed-off-by: Romain Francoise <romain@orebokech.com>
Signed-off-by: Jeff King <peff@peff.net>
11 years agosubmodule add: fix handling of --reference=<repo> option
Stefan Zager [Thu, 25 Oct 2012 04:52:52 +0000 (21:52 -0700)]
submodule add: fix handling of --reference=<repo> option

Doing a shift here is wrong because there is no extra
argument to consume when "--reference=<repo>" is used (note
the '=' instead of a space).

Signed-off-by: Stefan Zager <szager@google.com>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoDoc User-Manual: Patch cover letter, three dashes, and --notes
Philip Oakley [Sun, 21 Oct 2012 21:34:08 +0000 (22:34 +0100)]
Doc User-Manual: Patch cover letter, three dashes, and --notes

Show that git format-patch can have a cover letter, include patch
commentary below the three dashes, and notes can also be
included.

Signed-off-by: Philip Oakley <philipoakley@iee.org>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoDocument git-svn fetch --log-window-size parameter
Gunnlaugur Þór Briem [Tue, 23 Oct 2012 10:33:26 +0000 (10:33 +0000)]
Document git-svn fetch --log-window-size parameter

The --log-window-size parameter to git-svn fetch is undocumented.

Minimally describe what it does and why the user might change it.

Signed-off-by: Gunnlaugur Þór Briem <gunnlaugur@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoDoc format-patch: clarify --notes use case
Philip Oakley [Sun, 21 Oct 2012 21:34:10 +0000 (22:34 +0100)]
Doc format-patch: clarify --notes use case

Remove double negative, and include the repeat usage across
versions of a patch series.

Signed-off-by: Philip Oakley <philipoakley@iee.org>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoUse character class for sed expression instead of \s
Ben Walton [Thu, 25 Oct 2012 15:58:19 +0000 (16:58 +0100)]
Use character class for sed expression instead of \s

Sed on Mac OS X doesn't handle \s in a sed expressions so use a more
portable character set expression instead.

Signed-off-by: Ben Walton <bdwalton@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoconfigure: fix some output message
Stefano Lattarini [Wed, 24 Oct 2012 15:34:27 +0000 (17:34 +0200)]
configure: fix some output message

Before this change, output from ./configure could contain
botched wording like this:

    checking Checking for POSIX Threads with '-pthread'... yes

instead of the intended:

    checking for POSIX Threads with '-pthread'... yes

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoDoc repository-layout: Show refs/replace
Philip Oakley [Sun, 21 Oct 2012 20:52:37 +0000 (21:52 +0100)]
Doc repository-layout: Show refs/replace

Signed-off-by: Philip Oakley <philipoakley@iee.org>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoDocumentation: remote tracking branch -> remote-tracking branch
Matthieu Moy [Tue, 23 Oct 2012 11:34:05 +0000 (13:34 +0200)]
Documentation: remote tracking branch -> remote-tracking branch

This change was already done by 0e615b252f3 (Matthieu Moy, Tue Nov 2
2010, Replace "remote tracking" with "remote-tracking"), but new
instances of remote tracking (without dash) were introduced in the
meantime.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoMerge branch 'jk/strbuf-detach-always-non-null'
Jeff King [Thu, 25 Oct 2012 10:43:03 +0000 (06:43 -0400)]
Merge branch 'jk/strbuf-detach-always-non-null'

* jk/strbuf-detach-always-non-null:
  strbuf: always return a non-NULL value from strbuf_detach

11 years agoMerge branch 'js/mingw-fflush-errno'
Jeff King [Thu, 25 Oct 2012 10:43:01 +0000 (06:43 -0400)]
Merge branch 'js/mingw-fflush-errno'

* js/mingw-fflush-errno:
  maybe_flush_or_die: move a too-loose Windows specific error

11 years agoMerge branch 'da/mergetools-p4'
Jeff King [Thu, 25 Oct 2012 10:42:57 +0000 (06:42 -0400)]
Merge branch 'da/mergetools-p4'

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

11 years agoMerge branch 'jc/test-say-color-avoid-echo-escape'
Jeff King [Thu, 25 Oct 2012 10:42:49 +0000 (06:42 -0400)]
Merge branch 'jc/test-say-color-avoid-echo-escape'

Recent nd/wildmatch series was the first to reveal this ancient bug
in the test scaffolding.

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

11 years agoMerge branch 'nd/attr-match-optim'
Jeff King [Thu, 25 Oct 2012 10:42:36 +0000 (06:42 -0400)]
Merge branch 'nd/attr-match-optim'

Trivial and obvious optimization for finding attributes that match
a given path.

* nd/attr-match-optim:
  attr: avoid searching for basename on every match
  attr: avoid strlen() on every match

11 years agoMerge branch 'jk/peel-ref'
Jeff King [Thu, 25 Oct 2012 10:42:27 +0000 (06:42 -0400)]
Merge branch 'jk/peel-ref'

Speeds up "git upload-pack" (what is invoked by "git fetch" on the
other side of the connection) by reducing the cost to advertise the
branches and tags that are available in the repository.

* jk/peel-ref:
  upload-pack: use peel_ref for ref advertisements
  peel_ref: check object type before loading
  peel_ref: do not return a null sha1
  peel_ref: use faster deref_tag_noverify

11 years agoMerge branch 'bw/config-lift-variable-name-length-limit'
Jeff King [Thu, 25 Oct 2012 10:42:11 +0000 (06:42 -0400)]
Merge branch 'bw/config-lift-variable-name-length-limit'

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

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

11 years agoMerge branch 'fa/remote-svn'
Jeff King [Thu, 25 Oct 2012 10:42:01 +0000 (06:42 -0400)]
Merge branch 'fa/remote-svn'

A GSoC project.

* fa/remote-svn:
  Add a test script for remote-svn
  remote-svn: add marks-file regeneration
  Add a svnrdump-simulator replaying a dump file for testing
  remote-svn: add incremental import
  remote-svn: Activate import/export-marks for fast-import
  Create a note for every imported commit containing svn metadata
  vcs-svn: add fast_export_note to create notes
  Allow reading svn dumps from files via file:// urls
  remote-svn, vcs-svn: Enable fetching to private refs
  When debug==1, start fast-import with "--stats" instead of "--quiet"
  Add documentation for the 'bidi-import' capability of remote-helpers
  Connect fast-import to the remote-helper via pipe, adding 'bidi-import' capability
  Add argv_array_detach and argv_array_free_detached
  Add svndump_init_fd to allow reading dumps from arbitrary FDs
  Add git-remote-testsvn to Makefile
  Implement a remote helper for svn in C

11 years agoMerge branch 'jm/diff-context-config'
Jeff King [Thu, 25 Oct 2012 10:41:57 +0000 (06:41 -0400)]
Merge branch 'jm/diff-context-config'

Teaches a new configuration variable to "git diff" Porcelain and
its friends.

* jm/diff-context-config:
  t4055: avoid use of sed 'a' command
  diff: diff.context configuration gives default to -U

11 years agoMerge branch 'jk/no-more-pre-exec-callback'
Jeff King [Thu, 25 Oct 2012 10:41:15 +0000 (06:41 -0400)]
Merge branch 'jk/no-more-pre-exec-callback'

Removes a workaround for buggy version of less older than version
406.

* jk/no-more-pre-exec-callback:
  pager: drop "wait for output to run less" hack

11 years agoDoc notes: Include the format-patch --notes option
Philip Oakley [Sun, 21 Oct 2012 21:34:09 +0000 (22:34 +0100)]
Doc notes: Include the format-patch --notes option

git format-patch gained a --notes option. Tell the notes user.

Signed-off-by: Philip Oakley <philipoakley@iee.org>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoDoc SubmittingPatches: Mention --notes option after "cover letter"
Philip Oakley [Sun, 21 Oct 2012 21:34:07 +0000 (22:34 +0100)]
Doc SubmittingPatches: Mention --notes option after "cover letter"

The git format-patch --notes option can now insert the commit notes
after the three dashes. Mention this after the regular cover letter
guidance for submitting patches.

Signed-off-by: Philip Oakley <philipoakley@iee.org>
Signed-off-by: Jeff King <peff@peff.net>
11 years agogit-send-email: add rfc2047 quoting for "=?"
Krzysztof Mazur [Wed, 24 Oct 2012 21:28:29 +0000 (23:28 +0200)]
git-send-email: add rfc2047 quoting for "=?"

For raw subjects rfc2047 quoting is needed not only for non-ASCII characters,
but also for any possible rfc2047 in it.

Signed-off-by: Krzysztof Mazur <krzysiek@podlesie.net>
Signed-off-by: Jeff King <peff@peff.net>
11 years agogit-send-email: introduce quote_subject()
Krzysztof Mazur [Wed, 24 Oct 2012 21:08:26 +0000 (23:08 +0200)]
git-send-email: introduce quote_subject()

The quote_rfc2047() always adds RFC2047 quoting. To avoid
quoting ASCII subjects, before calling quote_rfc2047()
subject must be tested for non-ASCII characters. This patch
introduces a new quote_subject() function, which performs
the test and calls quote_rfc2047 only if necessary.

Signed-off-by: Krzysztof Mazur <krzysiek@podlesie.net>
Signed-off-by: Jeff King <peff@peff.net>
11 years agogit-send-email: skip RFC2047 quoting for ASCII subjects
Krzysztof Mazur [Wed, 24 Oct 2012 08:03:35 +0000 (10:03 +0200)]
git-send-email: skip RFC2047 quoting for ASCII subjects

The git-send-email always use RFC2047 subject quoting for
files with "broken" encoding - non-ASCII files without
Content-Transfer-Encoding, even for ASCII subjects. This is
harmless but unnecessarily ugly for people reading the raw
headers. This patch skips rfc2047 quoting when the subject
does not need it.

Signed-off-by: Krzysztof Mazur <krzysiek@podlesie.net>
Signed-off-by: Jeff King <peff@peff.net>
11 years agogit-send-email: use compose-encoding for Subject
Krzysztof Mazur [Mon, 22 Oct 2012 12:41:48 +0000 (14:41 +0200)]
git-send-email: use compose-encoding for Subject

The commit "git-send-email: introduce compose-encoding" introduced
the compose-encoding option to specify the introduction email encoding
(--compose option), but the email Subject encoding was still hardcoded
to UTF-8.

Signed-off-by: Krzysztof Mazur <krzysiek@podlesie.net>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoDocumentation: build html for all files in technical and howto
Thomas Ackermann [Tue, 23 Oct 2012 17:58:04 +0000 (19:58 +0200)]
Documentation: build html for all files in technical and howto

These files were recently revised to be valid asciidoc, so
there is no reason not to build html versions.

Signed-off-by: Thomas Ackermann <th.acker66@arcor.de>
Signed-off-by: Jeff King <peff@peff.net>
11 years agogit-pull: Avoid merge-base on detached head
Phil Hord [Tue, 23 Oct 2012 20:39:56 +0000 (16:39 -0400)]
git-pull: Avoid merge-base on detached head

git pull --rebase does some clever tricks to find the base
for $upstream, but it forgets that we may not have any
branch at all.  When this happens, git merge-base reports its
"usage" help in the middle of an otherwise successful
rebase operation, because git-merge is called with one too
few parameters.

Since we do not need the merge-base trick in the case of a
detached HEAD, detect this condition and bypass the clever
trick and the usage noise.

Signed-off-by: Phil Hord <hordp@cisco.com>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoGit 1.8.0
Junio C Hamano [Sun, 21 Oct 2012 20:56:23 +0000 (13:56 -0700)]
Git 1.8.0

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit symbolic-ref --delete $symref
Johan Herland [Sun, 21 Oct 2012 11:32:33 +0000 (13:32 +0200)]
git symbolic-ref --delete $symref

Teach symbolic-ref to delete symrefs by adding the -d/--delete option to
git-symbolic-ref. Both proper and dangling symrefs are deleted by this
option, but other refs - or anything else that is not a symref - is not.

The symref deletion is performed by first verifying that we are given a
proper symref, and then invoking delete_ref() on it with the REF_NODEREF
flag.

Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoget_fetch_map(): tighten checks on dest refs
Junio C Hamano [Fri, 4 May 2012 22:35:18 +0000 (15:35 -0700)]
get_fetch_map(): tighten checks on dest refs

The code to check the refname we store the fetched result locally did not
bother checking the first 5 bytes of it, presumably assuming that it
always begin with "refs/".  For a fetch refspec (or the result of applying
wildcard on one), we always want the RHS to map to something inside
"refs/" hierarchy, so let's spell that rule out in a more explicit way.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoFix potential hang in https handshake
Stefan Zager [Fri, 19 Oct 2012 21:04:20 +0000 (14:04 -0700)]
Fix potential hang in https handshake

It has been observed that curl_multi_timeout may return a very long
timeout value (e.g., 294 seconds and some usec) just before
curl_multi_fdset returns no file descriptors for reading.  The
upshot is that select() will hang for a long time -- long enough for
an https handshake to be dropped.  The observed behavior is that
the git command will hang at the terminal and never transfer any
data.

This patch is a workaround for a probable bug in libcurl.  The bug
only seems to manifest around a very specific set of circumstances:

- curl version (from curl/curlver.h):

 #define LIBCURL_VERSION_NUM 0x071307

- git-remote-https running on an ubuntu-lucid VM.
- Connecting through squid proxy running on another VM.

Interestingly, the problem doesn't manifest if a host connects
through squid proxy running on localhost; only if the proxy is on
a separate VM (not sure if the squid host needs to be on a separate
physical machine).  That would seem to suggest that this issue
is timing-sensitive.

This patch is more or less in line with a recommendation in the
curl docs about how to behave when curl_multi_fdset doesn't return
and file descriptors:

http://curl.haxx.se/libcurl/c/curl_multi_fdset.html

Signed-off-by: Stefan Zager <szager@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agotree-walk: use enum interesting instead of integer
Nguyễn Thái Ngọc Duy [Fri, 19 Oct 2012 17:14:42 +0000 (00:14 +0700)]
tree-walk: use enum interesting instead of integer

Commit d688cf0 (tree_entry_interesting(): give meaningful names to
return values - 2011-10-24) converts most of the tree_entry_interesting
values to the new enum, except "never_interesting". This completes the
conversion.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoDocumentation: decribe format-patch --notes
Junio C Hamano [Fri, 19 Oct 2012 20:01:05 +0000 (13:01 -0700)]
Documentation: decribe format-patch --notes

Even though I coded this, I am not sure what use scenarios would benefit
from this option, so the description is unnecessarily negative at this
moment. People who do want to use this feature need to come up with a
more plausible use case and replace it.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agofilter-branch: use git-sh-setup's ident parsing functions
Jeff King [Thu, 18 Oct 2012 10:33:02 +0000 (06:33 -0400)]
filter-branch: use git-sh-setup's ident parsing functions

This saves us some code, but it also reduces the number of
processes we start for each filtered commit. Since we can
parse both author and committer in the same sed invocation,
we save one process. And since the new interface avoids tr,
we save 4 processes.

It also avoids using "tr", which has had some odd
portability problems reported with from Solaris's xpg6
version.

We also tweak one of the tests in t7003 to double-check that
we are properly exporting the variables (because test-lib.sh
exports GIT_AUTHOR_NAME, it will be automatically exported
in subprograms. We override this to make sure that
filter-branch handles it properly itself).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-sh-setup: refactor ident-parsing functions
Jeff King [Thu, 18 Oct 2012 07:25:22 +0000 (03:25 -0400)]
git-sh-setup: refactor ident-parsing functions

The only ident-parsing function we currently provide is
get_author_ident_from_commit. This is not very
flexible for two reasons:

  1. It takes a commit as an argument, and can't read from
     commit headers saved on disk.

  2. It will only parse authors, not committers.

This patch provides a more flexible interface which will
parse multiple idents from a commit provide on stdin. We can
easily use it as a building block for the current function
to retain compatibility.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agostatus: add --long output format option
Jeff King [Thu, 18 Oct 2012 14:15:50 +0000 (21:15 +0700)]
status: add --long output format option

You can currently set the output format to --short or
--porcelain. There is no --long, because we default to it
already. However, you may want to override an alias that
uses "--short" to get back to the default.

This requires a little bit of refactoring, because currently
we use STATUS_FORMAT_LONG internally to mean the same as
"the user did not specify anything". By expanding the enum
to include STATUS_FORMAT_NONE, we can distinguish between
the implicit and explicit cases. This effects these
conditions:

  1. The user has asked for NUL termination. With NONE, we
     currently default to turning on the porcelain mode.
     With an explicit --long, we would in theory use NUL
     termination with the long mode, but it does not support
     it. So we can just complain and die.

  2. When an output format is given to "git commit", we
     default to "--dry-run". This behavior would now kick in
     when "--long" is given, too.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agobranch: show targets of deleted symrefs, not sha1s
René Scharfe [Thu, 18 Oct 2012 12:08:03 +0000 (14:08 +0200)]
branch: show targets of deleted symrefs, not sha1s

git branch reports the abbreviated hash of the head commit of
a deleted branch to make it easier for a user to undo the
operation.  For symref branches this doesn't help.  Print the
symref target instead for them.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agobranch: skip commit checks when deleting symref branches
René Scharfe [Thu, 18 Oct 2012 12:07:11 +0000 (14:07 +0200)]
branch: skip commit checks when deleting symref branches

Before a branch is deleted, we check that it points to a valid
commit.  With -d we also check that the commit is a merged; this
check is not done with -D.

The reason for that is that commits pointed to by branches should
never go missing; if they do then something broke and it's better
to stop instead of adding to the mess.  And a non-merged commit
may contain changes that are worth preserving, so we require the
stronger option -D instead of -d to get rid of them.

If a branch consists of a symref, these concerns don't apply.
Deleting such a branch can't make a commit become unreferenced,
so we don't need to check if it is merged, or even if it is
actually a valid commit.  Skip them in that case.  This allows
us to delete dangling symref branches.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agobranch: delete symref branch, not its target
René Scharfe [Thu, 18 Oct 2012 12:05:17 +0000 (14:05 +0200)]
branch: delete symref branch, not its target

If a branch that is to be deleted happens to be a symref to another
branch, the current code removes the targeted branch instead of the
one it was called for.

Change this surprising behaviour and delete the symref branch
instead.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agobranch: factor out delete_branch_config()
René Scharfe [Thu, 18 Oct 2012 12:04:08 +0000 (14:04 +0200)]
branch: factor out delete_branch_config()

Provide a small helper function for deleting branch config sections.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agobranch: factor out check_branch_commit()
René Scharfe [Thu, 18 Oct 2012 12:02:51 +0000 (14:02 +0200)]
branch: factor out check_branch_commit()

Move the code to perform checks on the tip commit of a branch
to its own function.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoformat-patch tests: check quoting/encoding in To: and Cc: headers
Jan H. Schönherr [Thu, 18 Oct 2012 14:43:34 +0000 (16:43 +0200)]
format-patch tests: check quoting/encoding in To: and Cc: headers

git-format-patch does currently not parse user supplied extra header
values (e. g., --cc, --add-header) and just replays them. That forces
users to add them RFC 2822/2047 conform in encoded form, e.g.

    --cc '=?UTF-8?q?Jan=20H=2E=20Sch=C3=B6nherr?= <...>'

which is inconvenient. We would want to update git-format-patch to
accept human-readable input

    --cc 'Jan H. Schönherr <...>'

and handle the encoding, wrapping and quoting internally in the future,
similar to what is already done in git-send-email. The necessary code
should mostly exist in the code paths that handle the From: and Subject:
headers.

Whether we want to do this only for the git-format-patch options
--to and --cc (and the corresponding config options) or also for
user supplied headers via --add-header, is open for discussion.

For now, add test_expect_failure tests for To: and Cc: headers as a
reminder and fix tests that would otherwise fail should this get
implemented.

Signed-off-by: Jan H. Schönherr <schnhrr@cs.tu-berlin.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoformat-patch: fix rfc2047 address encoding with respect to rfc822 specials
Jan H. Schönherr [Thu, 18 Oct 2012 14:43:33 +0000 (16:43 +0200)]
format-patch: fix rfc2047 address encoding with respect to rfc822 specials

According to RFC 2047 and RFC 822, rfc2047 encoded words and and rfc822
quoted strings do not mix. Since add_rfc2047() no longer leaves RFC 822
specials behind, the quoting is also no longer necessary to create a
standard-conforming mail.

Remove the quoting, when RFC 2047 encoding takes place. This actually
requires to refactor add_rfc2047() a bit, so that the different cases
can be distinguished.

With this patch, my own name gets correctly decoded as Jan H. Schönherr
(without quotes) and not as "Jan H. Schönherr" (with quotes).

Signed-off-by: Jan H. Schönherr <schnhrr@cs.tu-berlin.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoformat-patch: make rfc2047 encoding more strict
Jan H. Schönherr [Thu, 18 Oct 2012 14:43:32 +0000 (16:43 +0200)]
format-patch: make rfc2047 encoding more strict

RFC 2047 requires more characters to be encoded than it is currently done.
Especially, RFC 2047 distinguishes between allowed remaining characters
in encoded words in addresses (From, To, etc.) and other headers, such
as Subject.

Make add_rfc2047() and is_rfc2047_special() location dependent and include
all non-allowed characters to hopefully be RFC 2047 conformant.

This especially fixes a problem, where RFC 822 specials (e. g. ".") were
left unencoded in addresses, which was solved with a non-standard-conforming
workaround in the past (which is going to be removed in a follow-up patch).

Signed-off-by: Jan H. Schönherr <schnhrr@cs.tu-berlin.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoformat-patch: introduce helper function last_line_length()
Jan H. Schönherr [Thu, 18 Oct 2012 14:43:31 +0000 (16:43 +0200)]
format-patch: introduce helper function last_line_length()

Currently, an open-coded loop to calculate the length of the last
line of a string buffer is used in multiple places.

Move that code into a function of its own.

Signed-off-by: Jan H. Schönherr <schnhrr@cs.tu-berlin.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoformat-patch: do not wrap rfc2047 encoded headers too late
Jan H. Schönherr [Thu, 18 Oct 2012 14:43:30 +0000 (16:43 +0200)]
format-patch: do not wrap rfc2047 encoded headers too late

Encoded characters add more than one character at once to an encoded
header. Include all characters that are about to be added in the length
calculation for wrapping.

Additionally, RFC 2047 imposes a maximum line length of 76 characters
if that line contains an rfc2047 encoded word.

Signed-off-by: Jan H. Schönherr <schnhrr@cs.tu-berlin.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoformat-patch: do not wrap non-rfc2047 headers too early
Jan H. Schönherr [Thu, 18 Oct 2012 14:43:29 +0000 (16:43 +0200)]
format-patch: do not wrap non-rfc2047 headers too early

Do not wrap the second and later lines of non-rfc2047-encoded headers
substantially before the 78 character limit.

Instead of passing the remaining length of the first line as wrapping
width, use the correct maximum length and tell strbuf_add_wrapped_bytes()
how many characters of the first line are already used.

Signed-off-by: Jan H. Schönherr <schnhrr@cs.tu-berlin.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoutf8: fix off-by-one wrapping of text
Jan H. Schönherr [Thu, 18 Oct 2012 14:43:28 +0000 (16:43 +0200)]
utf8: fix off-by-one wrapping of text

The wrapping logic in strbuf_add_wrapped_text() does currently not allow
lines that entirely fill the allowed width, instead it wraps the line one
character too early.

For example, the text "This is the sixth commit." formatted via
"%w(11,1,2)" (wrap at 11 characters, 1 char indent of first line, 2 char
indent of following lines) results in four lines: " This is", "  the",
"  sixth", "  commit." This is wrong, because "  the sixth" is exactly
11 characters long, and thus allowed.

Fix this by allowing the (width+1) character of a line to be a valid
wrapping point if it is a whitespace character.

Signed-off-by: Jan H. Schönherr <schnhrr@cs.tu-berlin.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoDocumentation/howto: convert plain text files to asciidoc
Thomas Ackermann [Tue, 16 Oct 2012 17:25:29 +0000 (19:25 +0200)]
Documentation/howto: convert plain text files to asciidoc

These were not originally meant for asciidoc, but they are already
so close.  Mark them up in asciidoc.

Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agostrbuf: always return a non-NULL value from strbuf_detach
Jeff King [Thu, 18 Oct 2012 10:00:12 +0000 (06:00 -0400)]
strbuf: always return a non-NULL value from strbuf_detach

The current behavior is to return NULL when strbuf did not
actually allocate a string. This can be quite surprising to
callers, though, who may feed the strbuf from arbitrary data
and expect to always get a valid value.

In most cases, it does not make a difference because calling
any strbuf function will cause an allocation (even if the
function ends up not inserting any data). But if the code is
structured like:

  struct strbuf buf = STRBUF_INIT;
  if (some_condition)
  strbuf_addstr(&buf, some_string);
  return strbuf_detach(&buf, NULL);

then you may or may not return NULL, depending on the
condition. This can cause us to segfault in http-push
(when fed an empty URL) and in http-backend (when an empty
parameter like "foo=bar&&" is in the $QUERY_STRING).

This patch forces strbuf_detach to allocate an empty
NUL-terminated string when it is called on a strbuf that has
not been allocated.

I investigated all call-sites of strbuf_detach. The majority
are either not affected by the change (because they call a
strbuf_* function unconditionally), or can handle the empty
string just as easily as NULL.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoformat-patch --notes: show notes after three-dashes
Junio C Hamano [Thu, 18 Oct 2012 04:27:22 +0000 (21:27 -0700)]
format-patch --notes: show notes after three-dashes

When inserting the note after the commit log message to format-patch
output, add three dashes before the note.  Record the fact that we
did so in the rev_info and omit showing duplicated three dashes in
the usual codepath that is used when notes are not being shown.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoformat-patch: append --signature after notes
Junio C Hamano [Thu, 18 Oct 2012 03:48:25 +0000 (20:48 -0700)]
format-patch: append --signature after notes

When appending a new signature with "format-patch --signature", if
the "--notes" option is also in effect, the location of the new
signature (and if the signature should be added in the first place)
should be decided using the contents of the original commit log
message, before the message from the notes is added.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agopretty_print_commit(): do not append notes message
Junio C Hamano [Thu, 18 Oct 2012 02:02:46 +0000 (19:02 -0700)]
pretty_print_commit(): do not append notes message

The only case pretty_print_commit() appends notes message to the log
message taken from the commit is when show_log() calls it with the
notes_message field set, and the output format is not the userformat
(i.e. when substituting "%N").  No other users of this function sets
this field in the pretty_print_context, as can be easily verified in
the previous step.

Hoist the code to append the notes message to the caller.

Up to this point, no functionality change is intended.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agopretty: prepare notes message at a centralized place
Junio C Hamano [Thu, 18 Oct 2012 01:51:47 +0000 (18:51 -0700)]
pretty: prepare notes message at a centralized place

Instead of passing a boolean show_notes around, pass an optional
string that is to be inserted after the log message proper is shown.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoformat_note(): simplify API
Junio C Hamano [Thu, 18 Oct 2012 04:41:54 +0000 (21:41 -0700)]
format_note(): simplify API

We either stuff the notes message without modification for %N
userformat, or format it for human consumption.  Using two bits
is an overkill that does not benefit anybody.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agopretty: remove reencode_commit_message()
Junio C Hamano [Thu, 18 Oct 2012 00:12:55 +0000 (17:12 -0700)]
pretty: remove reencode_commit_message()

This function has only two callsites, and is a thin wrapper whose
usefulness is dubious.  When the caller needs to learn the log
output encoding, it should be able to do so by directly calling
get_log_output_encoding() and calling the underlying
logmsg_reencode() with it.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge tag 'gitgui-0.17.0' of git://repo.or.cz/git-gui
Junio C Hamano [Wed, 17 Oct 2012 22:55:46 +0000 (15:55 -0700)]
Merge tag 'gitgui-0.17.0' of git://repo.or.cz/git-gui

git-gui 0.17.0

* tag 'gitgui-0.17.0' of git://repo.or.cz/git-gui:
  git-gui 0.17
  git-gui: Don't prepend the prefix if value looks like a full path
  git-gui: Detect full path when parsing arguments
  git-gui: remove .git/CHERRY_PICK_HEAD after committing
  git-gui: Fix a loose/lose mistake
  git-gui: Fix semi-working shortcuts for unstage and revert
  git-gui: de.po: translate "remote" as "extern"
  git-gui: de.po: translate "bare" as "bloß"
  git-gui: de.po: consistently add untranslated hook names within braces
  git-gui: preserve commit messages in utf-8
  git-gui: open console when using --trace on windows
  git-gui: fix a typo in po/ files
  git-gui: Use PWD if it exists on Mac OS X
  git-gui: fix git-gui crash due to uninitialized variable

11 years agogit-gui 0.17
Pat Thoyts [Wed, 17 Oct 2012 20:57:29 +0000 (21:57 +0100)]
git-gui 0.17

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
11 years agogit-gui: Don't prepend the prefix if value looks like a full path
Andrew Wong [Tue, 2 Oct 2012 16:25:15 +0000 (12:25 -0400)]
git-gui: Don't prepend the prefix if value looks like a full path

When argument parsing fails to detect a file name, "git-gui" will try to
use the previously detected "head" as the file name. We should avoid
prepending the prefix if "head" looks like a full path.

Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
11 years agogit-gui: Detect full path when parsing arguments
Andrew Wong [Tue, 2 Oct 2012 16:25:14 +0000 (12:25 -0400)]
git-gui: Detect full path when parsing arguments

When running "git-gui blame" from a subfolder (which means prefix is
non-empty), if we pass a full path as argument, the argument parsing
will fail to recognize the argument as a file name, because prefix is
prepended to the argument.

This patch handles that scenario by adding an additional branch that
checks the file name without using the prefix.

Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
11 years agoGit 1.8.0-rc3
Junio C Hamano [Wed, 17 Oct 2012 17:39:44 +0000 (10:39 -0700)]
Git 1.8.0-rc3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge git://github.com/git-l10n/git-po
Junio C Hamano [Wed, 17 Oct 2012 17:37:40 +0000 (10:37 -0700)]
Merge git://github.com/git-l10n/git-po

* git://github.com/git-l10n/git-po:
  l10n: vi.po: update from v1.8.0-rc2-4-g42e55
  l10n: Update Swedish translation (1964t0f0u)

11 years agoSync with 1.7.12.4
Junio C Hamano [Wed, 17 Oct 2012 17:37:32 +0000 (10:37 -0700)]
Sync with 1.7.12.4

11 years agoGit 1.7.12.4
Junio C Hamano [Wed, 17 Oct 2012 17:36:01 +0000 (10:36 -0700)]
Git 1.7.12.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'jk/maint-http-half-auth-push' into maint
Junio C Hamano [Wed, 17 Oct 2012 17:29:24 +0000 (10:29 -0700)]
Merge branch 'jk/maint-http-half-auth-push' into maint

* jk/maint-http-half-auth-push:
  http: fix segfault in handle_curl_result

11 years agoMerge branch 'rr/git-uri-doc' into maint
Junio C Hamano [Wed, 17 Oct 2012 17:28:56 +0000 (10:28 -0700)]
Merge branch 'rr/git-uri-doc' into maint

* rr/git-uri-doc:
  Git url doc: mark ftp/ftps as read-only and deprecate them

11 years agoMerge branch 'bw/cp-a-is-gnuism' into maint
Junio C Hamano [Wed, 17 Oct 2012 17:28:48 +0000 (10:28 -0700)]
Merge branch 'bw/cp-a-is-gnuism' into maint

* bw/cp-a-is-gnuism:
  tests: "cp -a" is a GNUism

11 years agoMerge branch 'nd/doc-ignore' into maint
Junio C Hamano [Wed, 17 Oct 2012 17:28:42 +0000 (10:28 -0700)]
Merge branch 'nd/doc-ignore' into maint

* nd/doc-ignore:
  gitignore.txt: suggestions how to get literal # or ! at the beginning

11 years agoMerge branch 'jc/doc-long-options' into maint
Junio C Hamano [Wed, 17 Oct 2012 17:28:34 +0000 (10:28 -0700)]
Merge branch 'jc/doc-long-options' into maint

* jc/doc-long-options:
  gitcli: parse-options lets you omit tail of long options

11 years agoMerge branch 'jc/maint-t1450-fsck-order-fix' into maint
Junio C Hamano [Wed, 17 Oct 2012 17:28:19 +0000 (10:28 -0700)]
Merge branch 'jc/maint-t1450-fsck-order-fix' into maint

* jc/maint-t1450-fsck-order-fix:
  t1450: the order the objects are checked is undefined

11 years agoMerge branch 'rr/test-use-shell-path-not-shell' into maint
Junio C Hamano [Wed, 17 Oct 2012 17:27:28 +0000 (10:27 -0700)]
Merge branch 'rr/test-use-shell-path-not-shell' into maint

* rr/test-use-shell-path-not-shell:
  test-lib: use $SHELL_PATH, not $SHELL

11 years agoMerge branch 'rr/test-make-sure-we-have-git' into maint
Junio C Hamano [Wed, 17 Oct 2012 17:27:21 +0000 (10:27 -0700)]
Merge branch 'rr/test-make-sure-we-have-git' into maint

* rr/test-make-sure-we-have-git:
  t/test-lib: make sure Git has already been built

11 years agoMerge branch 'po/maint-docs' into maint
Junio C Hamano [Wed, 17 Oct 2012 17:27:10 +0000 (10:27 -0700)]
Merge branch 'po/maint-docs' into maint

* po/maint-docs:
  Doc branch: show -vv option and alternative
  Doc clean: add See Also link
  Doc add: link gitignore
  Doc: separate gitignore pattern sources
  Doc: shallow clone deepens _to_ new depth

11 years agoMerge branch 'jc/ll-merge-binary-ours' into maint
Junio C Hamano [Wed, 17 Oct 2012 17:26:51 +0000 (10:26 -0700)]
Merge branch 'jc/ll-merge-binary-ours' into maint

* jc/ll-merge-binary-ours:
  ll-merge: warn about inability to merge binary files only when we can't
  attr: "binary" attribute should choose built-in "binary" merge driver
  merge: teach -Xours/-Xtheirs to binary ll-merge driver

11 years agoMerge branch 'db/doc-custom-xmlto' into maint
Junio C Hamano [Wed, 17 Oct 2012 17:25:37 +0000 (10:25 -0700)]
Merge branch 'db/doc-custom-xmlto' into maint

* db/doc-custom-xmlto:
  Documentation/Makefile: Allow custom XMLTO binary

11 years agomaybe_flush_or_die: move a too-loose Windows specific error
Johannes Sixt [Wed, 17 Oct 2012 07:05:51 +0000 (09:05 +0200)]
maybe_flush_or_die: move a too-loose Windows specific error

 check to compat

Commit b2f5e268 (Windows: Work around an oddity when a pipe with no reader
is written to) introduced a check for EINVAL after fflush() to fight
spurious "Invalid argument" errors on Windows when a pipe was broken. But
this check may hide real errors on systems that do not have the this odd
behavior. Introduce an fflush wrapper in compat/mingw.* so that the treatment
is only applied on Windows.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-cvsimport: allow author-specific timezones
Chris Rorvick [Wed, 17 Oct 2012 03:53:29 +0000 (22:53 -0500)]
git-cvsimport: allow author-specific timezones

CVS patchsets are imported with timestamps having an offset of +0000
(UTC).  The cvs-authors file is already used to translate the CVS
username to full name and email in the corresponding commit.  Extend
this file to support an optional timezone for calculating a user-
specific timestamp offset.

Signed-off-by: Chris Rorvick <chris@rorvick.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'master' of https://github.com/nafmo/git-l10n-sv
Jiang Xin [Wed, 17 Oct 2012 01:38:30 +0000 (09:38 +0800)]
Merge branch 'master' of https://github.com/nafmo/git-l10n-sv

* 'master' of https://github.com/nafmo/git-l10n-sv:
  l10n: Update Swedish translation (1964t0f0u)

11 years agoMerge branch 'master' of git://github.com/vnwildman/git
Jiang Xin [Wed, 17 Oct 2012 01:37:30 +0000 (09:37 +0800)]
Merge branch 'master' of git://github.com/vnwildman/git

* 'master' of git://github.com/vnwildman/git:
  l10n: vi.po: update from v1.8.0-rc2-4-g42e55

11 years agol10n: vi.po: update from v1.8.0-rc2-4-g42e55
Tran Ngoc Quan [Wed, 17 Oct 2012 01:15:28 +0000 (08:15 +0700)]
l10n: vi.po: update from v1.8.0-rc2-4-g42e55

* translate 3 new messages
* review quotes

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
11 years agocvsserver status: provide real sticky info
Matthew Ogilvie [Sun, 14 Oct 2012 05:42:23 +0000 (23:42 -0600)]
cvsserver status: provide real sticky info

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocvsserver: cvs add: do not expand directory arguments
Matthew Ogilvie [Sun, 14 Oct 2012 05:42:22 +0000 (23:42 -0600)]
cvsserver: cvs add: do not expand directory arguments

Standard "cvs add" never does any recursion.  With standard
cvs, "cvs add dir" will either add just the "dir" to
the repository, or error out.  Prior to this change, git-cvsserver
would try to recurse (perhaps re-adding sandbox-removed files?) into
the existing directory instead.

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocvsserver: use whole CVS rev number in-process; don't strip "1." prefix
Matthew Ogilvie [Sun, 14 Oct 2012 05:42:21 +0000 (23:42 -0600)]
cvsserver: use whole CVS rev number in-process; don't strip "1." prefix

Keep track of the whole CVS revision number in-process.  This will
clarify code when we start handling non-linear revision numbers later.

There is one externally visible change: conflict markers after
an update will now include the full CVS revision number,
including the "1." prefix.  It used to leave off the prefix.

Other than the conflict marker, this change doesn't effect
external functionality.  No new features, and the DB schema
is unchanged such that it continues to store just
the stripped rev numbers (without prefix).

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocvsserver: split up long lines in req_{status,diff,log}
Matthew Ogilvie [Sun, 14 Oct 2012 05:42:20 +0000 (23:42 -0600)]
cvsserver: split up long lines in req_{status,diff,log}

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocvsserver: clean up client request handler map comments
Matthew Ogilvie [Sun, 14 Oct 2012 05:42:19 +0000 (23:42 -0600)]
cvsserver: clean up client request handler map comments

  - Comment that it should not be considered a complete list.
  - #'annotate' comment  - Uncommented annotate line is 2 lines earlier.

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>