]> git.ipfire.org Git - thirdparty/git.git/log
thirdparty/git.git
14 years agoMerge branch 'jc/color-attrs'
Junio C Hamano [Sat, 20 Mar 2010 18:29:36 +0000 (11:29 -0700)] 
Merge branch 'jc/color-attrs'

* jc/color-attrs:
  color: allow multiple attributes

14 years agoMerge branch 'cc/reset-keep'
Junio C Hamano [Sat, 20 Mar 2010 18:29:35 +0000 (11:29 -0700)] 
Merge branch 'cc/reset-keep'

* cc/reset-keep:
  Documentation: improve description of "git reset --keep"
  reset: disallow using --keep when there are unmerged entries
  reset: disallow "reset --keep" outside a work tree
  Documentation: reset: describe new "--keep" option
  reset: add test cases for "--keep" option
  reset: add option "--keep" to "git reset"

14 years agoMerge branch 'fl/askpass'
Junio C Hamano [Sat, 20 Mar 2010 18:29:35 +0000 (11:29 -0700)] 
Merge branch 'fl/askpass'

* fl/askpass:
  git-core: Support retrieving passwords with GIT_ASKPASS
  git-svn: Support retrieving passwords with GIT_ASKPASS

14 years agoMerge branch 'bg/apply-fix-blank-at-eof'
Junio C Hamano [Sat, 20 Mar 2010 18:29:35 +0000 (11:29 -0700)] 
Merge branch 'bg/apply-fix-blank-at-eof'

* bg/apply-fix-blank-at-eof:
  t3417: Add test cases for "rebase --whitespace=fix"
  t4124: Add additional tests of --whitespace=fix
  apply: Allow blank context lines to match beyond EOF
  apply: Remove the quick rejection test
  apply: Don't unnecessarily update line lengths in the preimage

14 years agoMerge branch 'bw/union-merge-refactor'
Junio C Hamano [Sat, 20 Mar 2010 18:29:34 +0000 (11:29 -0700)] 
Merge branch 'bw/union-merge-refactor'

* bw/union-merge-refactor:
  merge-file: add option to select union merge favor
  merge-file: add option to specify the marker size
  refactor merge flags into xmparam_t
  make union merge an xdl merge favor

14 years agoMerge branch 'maint'
Junio C Hamano [Sat, 20 Mar 2010 18:29:19 +0000 (11:29 -0700)] 
Merge branch 'maint'

* maint:
  Update draft release notes to 1.7.0.3
  fetch: Fix minor memory leak
  fetch: Future-proof initialization of a refspec on stack
  fetch: Check for a "^{}" suffix with suffixcmp()
  daemon: parse_host_and_port SIGSEGV if port is specified
  Makefile: Fix CDPATH problem
  pull: replace unnecessary sed invocation

14 years agoUpdate draft release notes to 1.7.0.3
Junio C Hamano [Sat, 20 Mar 2010 18:29:13 +0000 (11:29 -0700)] 
Update draft release notes to 1.7.0.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agofetch: Fix minor memory leak
Andreas Gruenbacher [Mon, 15 Mar 2010 22:18:48 +0000 (23:18 +0100)] 
fetch: Fix minor memory leak

A temporary struct ref is allocated in store_updated_refs() but not
freed.

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agofetch: Future-proof initialization of a refspec on stack
Andreas Gruenbacher [Fri, 12 Mar 2010 22:27:33 +0000 (23:27 +0100)] 
fetch: Future-proof initialization of a refspec on stack

The open-coded version to initialize each and every member will break
when a new member is added to the structure.

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agofetch: Check for a "^{}" suffix with suffixcmp()
Andreas Gruenbacher [Sat, 13 Mar 2010 17:17:04 +0000 (18:17 +0100)] 
fetch: Check for a "^{}" suffix with suffixcmp()

Otherwise, we will check random bytes for ref names < 3 characters.

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoFix a spelling mistake in a git-p4 console message
Benjamin C Meyer [Fri, 19 Mar 2010 04:39:10 +0000 (00:39 -0400)] 
Fix a spelling mistake in a git-p4 console message

Signed-off-by: Benjamin C Meyer <bmeyer@rim.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoUse test_expect_success for test setups
Brian Gernhardt [Sat, 20 Mar 2010 08:29:11 +0000 (04:29 -0400)] 
Use test_expect_success for test setups

Several tests did not use test_expect_success for their setup
commands.  Putting these start commands into the testing framework
means both that errors during setup will be caught quickly and that
non-error text will be suppressed without -v.

Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agodaemon: parse_host_and_port SIGSEGV if port is specified
Imre Deak [Sat, 20 Mar 2010 02:23:58 +0000 (04:23 +0200)] 
daemon: parse_host_and_port SIGSEGV if port is specified

This typo will lead to git-daemon dying any time the connect
string includes a port after the host= attribute. This can lead
for example to one of the following error messages on the client
side when someone tries git clone git://...:<port>.

When the daemon is running on localhost:
  fatal: The remote end hung up unexpectedly

or when the daemon is connected through an ssh tunnel:
  fatal: protocol error: bad line length character: erro

In the latter case 'erro' comes from the daemon's reply:
  error: git-daemon died of signal 11

Signed-off-by: Imre Deak <imre.deak@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMakefile: Fix occasional GIT-CFLAGS breakage
Jonathan Nieder [Sat, 20 Mar 2010 03:20:12 +0000 (22:20 -0500)] 
Makefile: Fix occasional GIT-CFLAGS breakage

GNU make’s target-specific variables facility has one weird facet: any
variables set for a given target apply to all of its dependencies,
too.  For example, when running “make exec_cmd.o”, since exec_cmd.o
depends on GIT-CFLAGS, the variable assignment in

exec_cmd.s exec_cmd.o: ALL_CFLAGS += \
'-DGIT_EXEC_PATH="$(gitexecdir_SQ)"' \
'-DBINDIR="$(bindir_relative_SQ)"' \
'-DPREFIX="$(prefix_SQ)"'

applies when refreshing GIT-CFLAGS, and the extra options get included
in the tracked compiler flags.  If an object file like this is the
first target built, GIT-CFLAGS will appear to be out of date,
resulting in useless rebuilds and the dreaded “new build flags or
prefix” message.

This does not happen with every build because GIT-CFLAGS is only
refreshed once in a given “make” run, and usually the first target
does not set any variables.  When this problem does rear its head, it
is very annoying.

So put target-specific flags in a separate EXTRA_CPPFLAGS variable
that is not included in $(TRACK_CFLAGS).

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMakefile: Fix CDPATH problem
Jonathan Nieder [Sat, 20 Mar 2010 00:06:15 +0000 (19:06 -0500)] 
Makefile: Fix CDPATH problem

If CDPATH is set, "cd" prints its destination to stdout, causing
the common (cd a && tar cf - .) | (cd b && tar xf -) idiom to fail.
For example:

 make -C templates DESTDIR='' install
 make[1]: Entering directory `/users/e477610/exptool/src/git-1.7.0.2/templates'
 install -d -m 755 '/home/e477610/exptool/share/git-core/templates'
 (cd blt && gtar cf - .) | \
(cd '/home/e477610/exptool/share/git-core/templates' && umask 022 && gtar xof -)
 gtar: This does not look like a tar archive

Most git scripts already protect against use of CDPATH through
git-sh-setup, but the Makefile doesn’t.

Reported-by: Michael Cox <mhcox@bluezoosoftware.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agonotes.c: remove inappropriate call to return
Brandon Casey [Thu, 18 Mar 2010 15:03:43 +0000 (10:03 -0500)] 
notes.c: remove inappropriate call to return

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agopull: replace unnecessary sed invocation
Stephen Boyd [Thu, 18 Mar 2010 05:10:45 +0000 (22:10 -0700)] 
pull: replace unnecessary sed invocation

Getting the shortened branch name is as easy as using the shell's
parameter expansion.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'maint'
Junio C Hamano [Wed, 17 Mar 2010 21:24:08 +0000 (14:24 -0700)] 
Merge branch 'maint'

* maint:
  Documentation: receive.denyCurrentBranch defaults to 'refuse'
  bash: complete *_HEAD refs if present

14 years agoDocumentation: receive.denyCurrentBranch defaults to 'refuse'
Thomas Rast [Wed, 17 Mar 2010 11:14:57 +0000 (12:14 +0100)] 
Documentation: receive.denyCurrentBranch defaults to 'refuse'

acd2a45 (Refuse updating the current branch in a non-bare repository
via push, 2009-02-11) changed the default to refuse such a push, but
it forgot to update the docs.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agobash: complete *_HEAD refs if present
Ian Ward Comfort [Wed, 17 Mar 2010 09:20:35 +0000 (02:20 -0700)] 
bash: complete *_HEAD refs if present

We already complete HEAD, of course, and might as well complete the other
common refs mentioned in the rev-parse man page: FETCH_HEAD, ORIG_HEAD, and
MERGE_HEAD.

Signed-off-by: Ian Ward Comfort <icomfort@stanford.edu>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'maint'
Junio C Hamano [Wed, 17 Mar 2010 02:30:37 +0000 (19:30 -0700)] 
Merge branch 'maint'

* maint:
  Documentation/git-read-tree: clarify 2-tree merge
  Documentation/git-read-tree: fix table layout

14 years agoDocumentation/git-read-tree: clarify 2-tree merge
Michael J Gruber [Mon, 15 Mar 2010 10:54:46 +0000 (11:54 +0100)] 
Documentation/git-read-tree: clarify 2-tree merge

Clarify the description of the 2-tree merge by defining the terms
which are used in the table, and by applying some small linguistic
changes.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation/git-read-tree: fix table layout
Michael J Gruber [Mon, 15 Mar 2010 10:54:45 +0000 (11:54 +0100)] 
Documentation/git-read-tree: fix table layout

Asciidoc takes the first non-space character in the first line of the
paragraph as a reference point for preformatted layout, so adjust to
that to make the table align.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'sd/format-patch-to'
Junio C Hamano [Mon, 15 Mar 2010 07:58:55 +0000 (00:58 -0700)] 
Merge branch 'sd/format-patch-to'

* sd/format-patch-to:
  send-email: add --no-cc, --no-to, and --no-bcc
  format-patch: add --no-cc, --no-to, and --no-add-headers
  format-patch: use a string_list for headers
  Add 'git format-patch --to=' option and 'format.to' configuration variable.

14 years agoMerge branch 'tc/http-cleanup'
Junio C Hamano [Mon, 15 Mar 2010 07:58:50 +0000 (00:58 -0700)] 
Merge branch 'tc/http-cleanup'

* tc/http-cleanup:
  remote-curl: init walker only when needed
  remote-curl: use http_fetch_ref() instead of walker wrapper
  http: init and cleanup separately from http-walker
  http-walker: cleanup more thoroughly
  http-push: remove "|| 1" to enable verbose check
  t554[01]-http-push: refactor, add non-ff tests
  t5541-http-push: check that ref is unchanged for non-ff test

14 years agoMerge branch 'tc/transport-verbosity'
Junio C Hamano [Mon, 15 Mar 2010 07:58:42 +0000 (00:58 -0700)] 
Merge branch 'tc/transport-verbosity'

* tc/transport-verbosity:
  transport: update flags to be in running order
  fetch and pull: learn --progress
  push: learn --progress
  transport->progress: use flag authoritatively
  clone: support multiple levels of verbosity
  push: support multiple levels of verbosity
  fetch: refactor verbosity option handling into transport.[ch]
  Documentation/git-push: put --quiet before --verbose
  Documentation/git-pull: put verbosity options before merge/fetch ones
  Documentation/git-clone: mention progress in -v

Conflicts:
transport.h

14 years agoMerge branch 'ld/push-porcelain'
Junio C Hamano [Mon, 15 Mar 2010 07:58:24 +0000 (00:58 -0700)] 
Merge branch 'ld/push-porcelain'

* ld/push-porcelain:
  t5516: Use test_cmp when appropriate
  git-push: add tests for git push --porcelain
  git-push: make git push --porcelain print "Done"
  git-push: send "To <remoteurl>" messages to the standard output in --porcelain mode
  git-push: fix an advice message so it goes to stderr

Conflicts:
transport.c

14 years agoMerge branch 'jh/notes'
Junio C Hamano [Mon, 15 Mar 2010 07:52:06 +0000 (00:52 -0700)] 
Merge branch 'jh/notes'

* jh/notes: (33 commits)
  Documentation: fix a few typos in git-notes.txt
  notes: fix malformed tree entry
  builtin-notes: Minor (mostly parse_options-related) fixes
  builtin-notes: Add "copy" subcommand for copying notes between objects
  builtin-notes: Misc. refactoring of argc and exit value handling
  builtin-notes: Add -c/-C options for reusing notes
  builtin-notes: Refactor handling of -F option to allow combining -m and -F
  builtin-notes: Deprecate the -m/-F options for "git notes edit"
  builtin-notes: Add "append" subcommand for appending to note objects
  builtin-notes: Add "add" subcommand for adding notes to objects
  builtin-notes: Add --message/--file aliases for -m/-F options
  builtin-notes: Add "list" subcommand for listing note objects
  Documentation: Generalize git-notes docs to 'objects' instead of 'commits'
  builtin-notes: Add "prune" subcommand for removing notes for missing objects
  Notes API: prune_notes(): Prune notes that belong to non-existing objects
  t3305: Verify that removing notes triggers automatic fanout consolidation
  builtin-notes: Add "remove" subcommand for removing existing notes
  Teach builtin-notes to remove empty notes
  Teach notes code to properly preserve non-notes in the notes tree
  t3305: Verify that adding many notes with git-notes triggers increased fanout
  ...

Conflicts:
Makefile

14 years agoMerge branch 'maint'
Junio C Hamano [Sun, 14 Mar 2010 05:31:42 +0000 (21:31 -0800)] 
Merge branch 'maint'

* maint:
  don't use default revision if a rev was specified
  for_each_recent_reflog_ent(): use strbuf, fix offset handling
  t/Makefile: remove test artifacts upon "make clean"
  blame: fix indent of line numbers

14 years agodon't use default revision if a rev was specified
Dave Olszewski [Sat, 13 Mar 2010 22:47:05 +0000 (14:47 -0800)] 
don't use default revision if a rev was specified

If a revision is specified, it happens not to have any commits, don't
use the default revision.  By doing so, surprising and undesired
behavior can happen, such as showing the reflog for HEAD when a branch
was specified.

[jc: squashed a test from René]

Signed-off-by: Dave Olszewski <cxreg@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agofor_each_recent_reflog_ent(): use strbuf, fix offset handling
René Scharfe [Sat, 13 Mar 2010 17:37:50 +0000 (18:37 +0100)] 
for_each_recent_reflog_ent(): use strbuf, fix offset handling

As Vladimir reported, "git log -g refs/stash" surprisingly showed the reflog
of HEAD if the message in the reflog file was too long.  To fix this, convert
for_each_recent_reflog_ent() to use strbuf_getwholeline() instead of fgets(),
for safety and to avoid any size limits for reflog entries.

Also reverse the logic of the part of the function that only looks at file
tails.  It used to close the file if fgets() succeeded.  The following
fgets() call in the while loop was likely to fail in this case, too, so
passing an offset to for_each_recent_reflog_ent() never worked.  Change it to
error out if strbuf_getwholeline() fails instead.

Reported-by: Vladimir Panteleev <vladimir@thecybershadow.net>
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot/Makefile: remove test artifacts upon "make clean"
Junio C Hamano [Sat, 13 Mar 2010 20:41:20 +0000 (12:41 -0800)] 
t/Makefile: remove test artifacts upon "make clean"

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoblame: fix indent of line numbers
René Scharfe [Sat, 13 Mar 2010 10:25:12 +0000 (11:25 +0100)] 
blame: fix indent of line numbers

Correct the calculation of the number of digits for line counts of the
form 10^n-1 (9, 99, ...) in lineno_width().  This makes blame stop
printing an extra space before the line numbers of files with that many
total lines.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge git://git.bogomips.org/git-svn
Junio C Hamano [Sat, 13 Mar 2010 20:02:54 +0000 (12:02 -0800)] 
Merge git://git.bogomips.org/git-svn

* git://git.bogomips.org/git-svn:
  t9150,t9151: Add rewrite-root option to init
  git-svn: Fix merge detecting with rewrite-root

14 years agot9150,t9151: Add rewrite-root option to init
Tuomas Suutari [Wed, 24 Feb 2010 18:09:02 +0000 (20:09 +0200)] 
t9150,t9151: Add rewrite-root option to init

The rewrite-root option seems to be a bit problematic with merge
detecting, so it's better to have a merge detecting test with it
turned on.

Signed-off-by: Tuomas Suutari <tuomas.suutari@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
14 years agogit-svn: Fix merge detecting with rewrite-root
Tuomas Suutari [Wed, 24 Feb 2010 18:09:01 +0000 (20:09 +0200)] 
git-svn: Fix merge detecting with rewrite-root

Detecting of merges from svn:mergeinfo or svk merge tickets failed
with rewrite-root option. This fixes it.

Signed-off-by: Tuomas Suutari <tuomas.suutari@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
14 years agoMerge branch 'maint'
Junio C Hamano [Sat, 13 Mar 2010 06:13:22 +0000 (22:13 -0800)] 
Merge branch 'maint'

* maint:
  t9400: Use test_cmp when appropriate

14 years agot5516: Use test_cmp when appropriate
Junio C Hamano [Fri, 12 Mar 2010 05:51:57 +0000 (21:51 -0800)] 
t5516: Use test_cmp when appropriate

Consistently using test_cmp would make debugging test scripts far easier,
as output from them run under "-v" option becomes readable.

Besides, some platforms' "diff" implementations lack "-q" option.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot9400: Use test_cmp when appropriate
Junio C Hamano [Fri, 12 Mar 2010 05:40:33 +0000 (21:40 -0800)] 
t9400: Use test_cmp when appropriate

Consistently using test_cmp would make debugging test scripts far easier,
as output from them run under "-v" option becomes readable.

Besides, some platforms' "diff" implementations lack "-q" option.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'sd/init-template'
Junio C Hamano [Wed, 10 Mar 2010 23:32:43 +0000 (15:32 -0800)] 
Merge branch 'sd/init-template'

* sd/init-template:
  wrap-for-bin: do not export an empty GIT_TEMPLATE_DIR
  t/t0001-init.sh: add test for 'init with init.templatedir set'
  init: having keywords without value is not a global error.
  Add a "TEMPLATE DIRECTORY" section to git-init[1].
  Add `init.templatedir` configuration variable.

14 years agoMerge branch 'sh/am-keep-cr'
Junio C Hamano [Wed, 10 Mar 2010 23:32:34 +0000 (15:32 -0800)] 
Merge branch 'sh/am-keep-cr'

* sh/am-keep-cr:
  git-am: Add tests for `--keep-cr`, `--no-keep-cr` and `am.keepcr`
  git-am: Add am.keepcr and --no-keep-cr to override it
  git-am: Add command line parameter `--keep-cr` passing it to git-mailsplit
  documentation: 'git-mailsplit --keep-cr' is not hidden anymore

14 years agoMerge branch 'cp/add-u-pathspec'
Junio C Hamano [Wed, 10 Mar 2010 23:32:02 +0000 (15:32 -0800)] 
Merge branch 'cp/add-u-pathspec'

* cp/add-u-pathspec:
  test for add with non-existent pathspec
  git add -u: die on unmatched pathspec

14 years agoMakefile: update check-docs target
Junio C Hamano [Wed, 10 Mar 2010 23:31:34 +0000 (15:31 -0800)] 
Makefile: update check-docs target

When we added bunch of git-remote-* helper backends, we should have
done this to squelch complaints that they do not have their own
manual pages.  Also the entry for git-remote-helpers was not
properly marked as a non-command.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'lt/deepen-builtin-source'
Junio C Hamano [Wed, 10 Mar 2010 23:25:18 +0000 (15:25 -0800)] 
Merge branch 'lt/deepen-builtin-source'

* lt/deepen-builtin-source:
  Move 'builtin-*' into a 'builtin/' subdirectory

Conflicts:
Makefile

14 years agoDocumentation: improve description of "git reset --keep"
Junio C Hamano [Tue, 9 Mar 2010 01:51:16 +0000 (02:51 +0100)] 
Documentation: improve description of "git reset --keep"

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agosend-email: add --no-cc, --no-to, and --no-bcc
Stephen Boyd [Sun, 7 Mar 2010 22:46:48 +0000 (14:46 -0800)] 
send-email: add --no-cc, --no-to, and --no-bcc

There's no way to override the sendemail.to, sendemail.cc, and
sendemail.bcc config settings. Add options allowing the user to tell
git to ignore the config settings and take whatever is on the command
line.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoformat-patch: add --no-cc, --no-to, and --no-add-headers
Stephen Boyd [Sun, 7 Mar 2010 22:46:47 +0000 (14:46 -0800)] 
format-patch: add --no-cc, --no-to, and --no-add-headers

These new options allow users to override their config settings for
format.cc, format.to and format.headers respectively. These options
only make git ignore the config settings and any previous command line
options, so you'll still have to add more command line options to add
extra headers. For example,

$ cat .git/config
[format]
to = Someone <someone@out.there>
$ git format-patch -1 --no-to --to="Someone Else <else@out.there>"

would format a patch addressed to "Someone Else" and not "Someone".

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoformat-patch: use a string_list for headers
Stephen Boyd [Sun, 7 Mar 2010 22:46:46 +0000 (14:46 -0800)] 
format-patch: use a string_list for headers

In the next patch we'll need to clear the header lists if the user
specifies --no-add-headers or --no-to or --no-cc. This actually cuts
down on the code a bit too.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoUpdate draft release notes to 1.7.1
Junio C Hamano [Mon, 8 Mar 2010 08:54:05 +0000 (00:54 -0800)] 
Update draft release notes to 1.7.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'maint'
Junio C Hamano [Mon, 8 Mar 2010 08:52:01 +0000 (00:52 -0800)] 
Merge branch 'maint'

* maint:
  Merge accumulated fixes to prepare for 1.7.0.3

Conflicts:
RelNotes

14 years agoMerge accumulated fixes to prepare for 1.7.0.3
Junio C Hamano [Mon, 8 Mar 2010 08:50:24 +0000 (00:50 -0800)] 
Merge accumulated fixes to prepare for 1.7.0.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'mw/maint-gcc-warns-unused-write' into maint
Junio C Hamano [Mon, 8 Mar 2010 08:36:02 +0000 (00:36 -0800)] 
Merge branch 'mw/maint-gcc-warns-unused-write' into maint

* mw/maint-gcc-warns-unused-write:
  run-command.c: fix build warnings on Ubuntu

14 years agoMerge branch 'fn/maint-mkdtemp-compat' into maint
Junio C Hamano [Mon, 8 Mar 2010 08:36:02 +0000 (00:36 -0800)] 
Merge branch 'fn/maint-mkdtemp-compat' into maint

* fn/maint-mkdtemp-compat:
  Fix gitmkdtemp: correct test for mktemp() return value

14 years agoMerge branch 'gb/maint-submodule-env' into maint
Junio C Hamano [Mon, 8 Mar 2010 08:36:02 +0000 (00:36 -0800)] 
Merge branch 'gb/maint-submodule-env' into maint

* gb/maint-submodule-env:
  is_submodule_modified(): clear environment properly
  submodules: ensure clean environment when operating in a submodule
  shell setup: clear_local_git_env() function
  rev-parse: --local-env-vars option
  Refactor list of of repo-local env vars

14 years agoMerge branch 'as/maint-expire' into maint
Junio C Hamano [Mon, 8 Mar 2010 08:36:01 +0000 (00:36 -0800)] 
Merge branch 'as/maint-expire' into maint

* as/maint-expire:
  reflog: honor gc.reflogexpire=never
  prune: honor --expire=never

14 years agoMerge branch 'ml/maint-grep-doc' into maint
Junio C Hamano [Mon, 8 Mar 2010 08:36:01 +0000 (00:36 -0800)] 
Merge branch 'ml/maint-grep-doc' into maint

* ml/maint-grep-doc:
  grep docs: document --no-index option
  grep docs: --cached and <tree>... are incompatible
  grep docs: use AsciiDoc literals consistently
  grep docs: pluralize "Example" section

14 years agoMerge branch 'jk/maint-push-tracking-wo-remote' into maint
Junio C Hamano [Mon, 8 Mar 2010 08:36:01 +0000 (00:36 -0800)] 
Merge branch 'jk/maint-push-tracking-wo-remote' into maint

* jk/maint-push-tracking-wo-remote:
  push: fix segfault for odd config

14 years agoMerge branch 'jc/fetch-param' into maint
Junio C Hamano [Mon, 8 Mar 2010 08:36:00 +0000 (00:36 -0800)] 
Merge branch 'jc/fetch-param' into maint

* jc/fetch-param:
  fetch --all/--multiple: keep all the fetched branch information
  builtin-fetch --all/--multi: propagate options correctly
  t5521: fix and modernize

14 years agoMerge branch 'ne/pack-local-doc' into maint
Junio C Hamano [Mon, 8 Mar 2010 08:36:00 +0000 (00:36 -0800)] 
Merge branch 'ne/pack-local-doc' into maint

* ne/pack-local-doc:
  pack-objects documentation: Fix --honor-pack-keep as well.
  pack-objects documentation: reword "objects that appear in the standard input"
  Documentation: pack-objects: Clarify --local's semantics.

14 years agoMerge branch 'jk/maint-add--interactive-delete' into maint
Junio C Hamano [Mon, 8 Mar 2010 08:36:00 +0000 (00:36 -0800)] 
Merge branch 'jk/maint-add--interactive-delete' into maint

* jk/maint-add--interactive-delete:
  add-interactive: fix bogus diff header line ordering

14 years agoMerge branch 'mm/mkstemps-mode-for-packfiles' into maint
Junio C Hamano [Mon, 8 Mar 2010 08:36:00 +0000 (00:36 -0800)] 
Merge branch 'mm/mkstemps-mode-for-packfiles' into maint

* mm/mkstemps-mode-for-packfiles:
  Use git_mkstemp_mode instead of plain mkstemp to create object files
  git_mkstemps_mode: don't set errno to EINVAL on exit.
  Use git_mkstemp_mode and xmkstemp_mode in odb_mkstemp, not chmod later.
  git_mkstemp_mode, xmkstemp_mode: variants of gitmkstemps with mode argument.
  Move gitmkstemps to path.c
  Add a testcase for ACL with restrictive umask.

14 years agoMerge branch 'jc/maint-fix-mailinfo-strip' into maint
Junio C Hamano [Mon, 8 Mar 2010 08:35:59 +0000 (00:35 -0800)] 
Merge branch 'jc/maint-fix-mailinfo-strip' into maint

* jc/maint-fix-mailinfo-strip:
  mailinfo: do not strip leading spaces even for a header line

14 years agoMerge branch 'jc/grep-author-all-match-implicit' into maint
Junio C Hamano [Mon, 8 Mar 2010 08:35:59 +0000 (00:35 -0800)] 
Merge branch 'jc/grep-author-all-match-implicit' into maint

* jc/grep-author-all-match-implicit:
  "log --author=me --grep=it" should find intersection, not union

14 years agoMerge branch 'jc/checkout-detached' into maint
Junio C Hamano [Mon, 8 Mar 2010 08:35:59 +0000 (00:35 -0800)] 
Merge branch 'jc/checkout-detached' into maint

* jc/checkout-detached:
  Reword "detached HEAD" notification

14 years agoMerge branch 'maint-1.6.6' into maint
Junio C Hamano [Mon, 8 Mar 2010 08:35:58 +0000 (00:35 -0800)] 
Merge branch 'maint-1.6.6' into maint

* maint-1.6.6:

14 years agoMerge branch 'jc/maint-fix-test-perm' into maint-1.6.6
Junio C Hamano [Sun, 7 Mar 2010 22:54:05 +0000 (14:54 -0800)] 
Merge branch 'jc/maint-fix-test-perm' into maint-1.6.6

* jc/maint-fix-test-perm:
  lib-patch-mode.sh: Fix permission
  t6000lib: Fix permission

14 years agoMerge branch 'sp/maint-push-sideband' into maint-1.6.6
Junio C Hamano [Sun, 7 Mar 2010 22:54:01 +0000 (14:54 -0800)] 
Merge branch 'sp/maint-push-sideband' into maint-1.6.6

* sp/maint-push-sideband:
  receive-pack: Send internal errors over side-band #2
  t5401: Use a bare repository for the remote peer
  receive-pack: Send hook output over side band #2
  receive-pack: Wrap status reports inside side-band-64k
  receive-pack: Refactor how capabilities are shown to the client
  send-pack: demultiplex a sideband stream with status data
  run-command: support custom fd-set in async
  run-command: Allow stderr to be a caller supplied pipe

14 years agoMerge branch 'hm/maint-imap-send-crlf' into maint-1.6.6
Junio C Hamano [Sun, 7 Mar 2010 22:53:57 +0000 (14:53 -0800)] 
Merge branch 'hm/maint-imap-send-crlf' into maint-1.6.6

* hm/maint-imap-send-crlf:
  git-imap-send: Convert LF to CRLF before storing patch to draft box

14 years agoMerge branch 'gf/maint-sh-setup-nongit-ok' into maint-1.6.6
Junio C Hamano [Sun, 7 Mar 2010 22:53:53 +0000 (14:53 -0800)] 
Merge branch 'gf/maint-sh-setup-nongit-ok' into maint-1.6.6

* gf/maint-sh-setup-nongit-ok:
  require_work_tree broken with NONGIT_OK

14 years agoMerge branch 'jk/maint-rmdir-fix' into maint-1.6.6
Junio C Hamano [Sun, 7 Mar 2010 22:53:50 +0000 (14:53 -0800)] 
Merge branch 'jk/maint-rmdir-fix' into maint-1.6.6

* jk/maint-rmdir-fix:
  rm: fix bug in recursive subdirectory removal

14 years agoMerge branch 'rs/optim-text-wrap' into maint-1.6.6
Junio C Hamano [Sun, 7 Mar 2010 22:53:45 +0000 (14:53 -0800)] 
Merge branch 'rs/optim-text-wrap' into maint-1.6.6

* rs/optim-text-wrap:
  utf8.c: speculatively assume utf-8 in strbuf_add_wrapped_text()
  utf8.c: remove strbuf_write()
  utf8.c: remove print_spaces()
  utf8.c: remove print_wrapped_text()

14 years agoMerge branch 'tr/maint-cherry-pick-list' into maint-1.6.6
Junio C Hamano [Sun, 7 Mar 2010 22:53:40 +0000 (14:53 -0800)] 
Merge branch 'tr/maint-cherry-pick-list' into maint-1.6.6

* tr/maint-cherry-pick-list:
  cherry_pick_list: quit early if one side is empty

14 years agoMerge branch 'cc/maint-bisect-paths' into maint-1.6.6
Junio C Hamano [Sun, 7 Mar 2010 22:53:35 +0000 (14:53 -0800)] 
Merge branch 'cc/maint-bisect-paths' into maint-1.6.6

* cc/maint-bisect-paths:
  bisect: error out when passing bad path parameters

14 years agoMerge branch 'mw/maint-gcc-warns-unused-write'
Junio C Hamano [Sun, 7 Mar 2010 20:47:18 +0000 (12:47 -0800)] 
Merge branch 'mw/maint-gcc-warns-unused-write'

* mw/maint-gcc-warns-unused-write:
  run-command.c: fix build warnings on Ubuntu

14 years agoMerge branch 'as/maint-expire'
Junio C Hamano [Sun, 7 Mar 2010 20:47:17 +0000 (12:47 -0800)] 
Merge branch 'as/maint-expire'

* as/maint-expire:
  reflog: honor gc.reflogexpire=never
  prune: honor --expire=never

14 years agoMerge branch 'ml/maint-grep-doc'
Junio C Hamano [Sun, 7 Mar 2010 20:47:17 +0000 (12:47 -0800)] 
Merge branch 'ml/maint-grep-doc'

* ml/maint-grep-doc:
  grep docs: document --no-index option
  grep docs: --cached and <tree>... are incompatible
  grep docs: use AsciiDoc literals consistently
  grep docs: pluralize "Example" section

14 years agoMerge branch 'fn/maint-mkdtemp-compat'
Junio C Hamano [Sun, 7 Mar 2010 20:47:17 +0000 (12:47 -0800)] 
Merge branch 'fn/maint-mkdtemp-compat'

* fn/maint-mkdtemp-compat:
  Fix gitmkdtemp: correct test for mktemp() return value

14 years agoMerge branch 'gb/maint-submodule-env'
Junio C Hamano [Sun, 7 Mar 2010 20:47:17 +0000 (12:47 -0800)] 
Merge branch 'gb/maint-submodule-env'

* gb/maint-submodule-env:
  is_submodule_modified(): clear environment properly
  submodules: ensure clean environment when operating in a submodule
  shell setup: clear_local_git_env() function
  rev-parse: --local-env-vars option
  Refactor list of of repo-local env vars

14 years agoMerge branch 'ne/pack-local-doc'
Junio C Hamano [Sun, 7 Mar 2010 20:47:16 +0000 (12:47 -0800)] 
Merge branch 'ne/pack-local-doc'

* ne/pack-local-doc:
  pack-objects documentation: Fix --honor-pack-keep as well.
  pack-objects documentation: reword "objects that appear in the standard input"
  Documentation: pack-objects: Clarify --local's semantics.

14 years agoMerge branch 'mb/shortlog-nongit-stdin'
Junio C Hamano [Sun, 7 Mar 2010 20:47:16 +0000 (12:47 -0800)] 
Merge branch 'mb/shortlog-nongit-stdin'

* mb/shortlog-nongit-stdin:
  shortlog: warn the user when there is no input

14 years agoMerge branch 'jk/maint-push-tracking-wo-remote'
Junio C Hamano [Sun, 7 Mar 2010 20:47:16 +0000 (12:47 -0800)] 
Merge branch 'jk/maint-push-tracking-wo-remote'

* jk/maint-push-tracking-wo-remote:
  push: fix segfault for odd config

14 years agoMerge branch 'jc/fetch-param'
Junio C Hamano [Sun, 7 Mar 2010 20:47:16 +0000 (12:47 -0800)] 
Merge branch 'jc/fetch-param'

* jc/fetch-param:
  fetch --all/--multiple: keep all the fetched branch information
  builtin-fetch --all/--multi: propagate options correctly
  t5521: fix and modernize

14 years agoMerge branch 'il/loosen-remote-helper-names'
Junio C Hamano [Sun, 7 Mar 2010 20:47:15 +0000 (12:47 -0800)] 
Merge branch 'il/loosen-remote-helper-names'

* il/loosen-remote-helper-names:
  Allow '+', '-' and '.' in remote helper names

14 years agoMerge branch 'nd/root-git'
Junio C Hamano [Sun, 7 Mar 2010 20:47:15 +0000 (12:47 -0800)] 
Merge branch 'nd/root-git'

* nd/root-git:
  Add test for using Git at root of file system
  Support working directory located at root
  Move offset_1st_component() to path.c
  init-db, rev-parse --git-dir: do not append redundant slash
  make_absolute_path(): Do not append redundant slash

Conflicts:
setup.c
sha1_file.c

14 years agoMerge branch 'js/runtime-prefix-trace-not-warn'
Junio C Hamano [Sun, 7 Mar 2010 20:47:15 +0000 (12:47 -0800)] 
Merge branch 'js/runtime-prefix-trace-not-warn'

* js/runtime-prefix-trace-not-warn:
  Print RUNTIME_PREFIX warning only when GIT_TRACE is set

14 years agoMerge branch 'mm/mkstemps-mode-for-packfiles'
Junio C Hamano [Sun, 7 Mar 2010 20:47:14 +0000 (12:47 -0800)] 
Merge branch 'mm/mkstemps-mode-for-packfiles'

* mm/mkstemps-mode-for-packfiles:
  Use git_mkstemp_mode instead of plain mkstemp to create object files
  git_mkstemps_mode: don't set errno to EINVAL on exit.
  Use git_mkstemp_mode and xmkstemp_mode in odb_mkstemp, not chmod later.
  git_mkstemp_mode, xmkstemp_mode: variants of gitmkstemps with mode argument.
  Move gitmkstemps to path.c
  Add a testcase for ACL with restrictive umask.

14 years agoMerge branch 'jk/maint-add--interactive-delete'
Junio C Hamano [Sun, 7 Mar 2010 20:47:14 +0000 (12:47 -0800)] 
Merge branch 'jk/maint-add--interactive-delete'

* jk/maint-add--interactive-delete:
  add-interactive: fix bogus diff header line ordering

14 years agoMerge branch 'jc/maint-fix-mailinfo-strip'
Junio C Hamano [Sun, 7 Mar 2010 20:47:14 +0000 (12:47 -0800)] 
Merge branch 'jc/maint-fix-mailinfo-strip'

* jc/maint-fix-mailinfo-strip:
  mailinfo: do not strip leading spaces even for a header line

14 years agocolor: allow multiple attributes
Junio C Hamano [Sun, 28 Feb 2010 02:56:38 +0000 (18:56 -0800)] 
color: allow multiple attributes

In configuration files (and "git config --color" command line), we
supported one and only one attribute after foreground and background
color.  Accept combinations of attributes, e.g.

    [diff.color]
            old = red reverse bold

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoSync with 1.7.0.2
Junio C Hamano [Sun, 7 Mar 2010 19:09:47 +0000 (11:09 -0800)] 
Sync with 1.7.0.2

14 years agoGit 1.7.0.2 v1.7.0.2
Junio C Hamano [Sun, 7 Mar 2010 19:07:51 +0000 (11:07 -0800)] 
Git 1.7.0.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agounset GREP_OPTIONS in test-lib.sh
Bert Wesarg [Wed, 18 Nov 2009 16:15:19 +0000 (17:15 +0100)] 
unset GREP_OPTIONS in test-lib.sh

I used to set GREP_OPTIONS to exclude *.orig and *.rej files. But with this
the test t4252-am-options.sh fails because it calls grep with a .rej file:

    grep "@@ -1,3 +1,3 @@" file-2.rej

Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'maint'
Junio C Hamano [Sun, 7 Mar 2010 08:02:15 +0000 (00:02 -0800)] 
Merge branch 'maint'

* maint:
  stash: suggest the correct command line for unknown options.
  t7406: Fix submodule init config tests

14 years agot3417: Add test cases for "rebase --whitespace=fix"
Björn Gustavsson [Sat, 6 Mar 2010 14:31:17 +0000 (15:31 +0100)] 
t3417: Add test cases for "rebase --whitespace=fix"

The command "git rebase --whitespace=fix HEAD~<N>" is supposed to
only clean up trailing whitespace, and the expectation is that it
cannot fail.

Unfortunately, if one commit adds a blank line at the end of a file
and a subsequent commit adds more non-blank lines after the blank
line, "git apply" (used indirectly by "git rebase") will fail to apply
the patch of the second commit.

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot4124: Add additional tests of --whitespace=fix
Björn Gustavsson [Sat, 6 Mar 2010 14:31:04 +0000 (15:31 +0100)] 
t4124: Add additional tests of --whitespace=fix

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoapply: Allow blank context lines to match beyond EOF
Björn Gustavsson [Sat, 6 Mar 2010 14:30:42 +0000 (15:30 +0100)] 
apply: Allow blank context lines to match beyond EOF

"git apply --whitespace=fix" will not always succeed when used
on a series of patches in the following circumstances:

* One patch adds a blank line at the end of a file. (Since
  --whitespace=fix is used, the blank line will *not* be added.)

* The next patch adds non-blank lines after the blank line
  introduced in the first patch. That patch will not apply
  because the blank line that is expected to be found at end
  of the file is no longer there.

A patch series that starts by deleting lines at the end
will fail in a similar way.

Fix this problem by allowing a blank context line at the beginning
of a hunk to match if parts of it falls beyond end of the file.
We still require that at least one non-blank context line match
before the end of the file.

If the --ignore-space-change option is given (as well as the
--whitespace=fix option), blank context lines falling beyond the end
of the file will be copied unchanged to the target file (i.e. they
will have the same line terminators and extra spaces will not be
removed).

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoapply: Remove the quick rejection test
Björn Gustavsson [Sat, 6 Mar 2010 14:30:29 +0000 (15:30 +0100)] 
apply: Remove the quick rejection test

In the next commit, we will make it possible for blank context
lines to match beyond the end of the file. That means that a hunk
with a preimage that has more lines than present in the file may
be possible to successfully apply. Therefore, we must remove
the quick rejection test in find_pos().

find_pos() will already work correctly without the quick
rejection test, but that might not be obvious. Therefore,
comment the test for handling out-of-range line numbers in
find_pos() and cast the "line" variable to the same (unsigned)
type as img->nr.

What are performance implications of removing the quick
rejection test?

It can only help "git apply" to reject a patch faster. For example,
if I have a file with one million lines and a patch that removes
slightly more than 50 percent of the lines and try to apply that
patch twice, the second attempt will fail slightly faster
with the test than without (based on actual measurements).

However, there is the pathological case of a patch with many
more context lines than the default three, and applying that patch
using "git apply -C1". Without the rejection test, the running
time will be roughly proportional to the number of context lines
times the size of the file. That could be handled by writing
a more complicated rejection test (it would have to count the
number of blanks at the end of the preimage), but I don't find
that worth doing until there is a real-world use case that
would benfit from it.

It would be possible to keep the quick rejection test if
--whitespace=fix is not given, but I don't like that from
a testing point of view.

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoapply: Don't unnecessarily update line lengths in the preimage
Björn Gustavsson [Sat, 6 Mar 2010 14:30:21 +0000 (15:30 +0100)] 
apply: Don't unnecessarily update line lengths in the preimage

In match_fragment(), the line lengths in the preimage are updated
just before calling update_pre_post_images(). That is not
necessary, since update_pre_post_images() itself will
update the line lengths based on the buffer passed to it.

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoreset: disallow using --keep when there are unmerged entries
Christian Couder [Tue, 19 Jan 2010 04:26:01 +0000 (05:26 +0100)] 
reset: disallow using --keep when there are unmerged entries

The use case for --keep option is to remove previous commits unrelated
to the current changes in the working tree. So in this use case we are
not supposed to have unmerged entries. This is why it seems safer to
just disallow using --keep when there are unmerged entries.

And this patch changes the error message when --keep was disallowed and
there were some unmerged entries from:

    error: Entry 'file1' would be overwritten by merge. Cannot merge.
    fatal: Could not reset index file to revision 'HEAD^'.

to:

    fatal: Cannot do a keep reset in the middle of a merge.

which is nicer.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoreset: disallow "reset --keep" outside a work tree
Christian Couder [Tue, 19 Jan 2010 04:26:00 +0000 (05:26 +0100)] 
reset: disallow "reset --keep" outside a work tree

It is safer and consistent with "--merge" and "--hard" resets to disallow
"git reset --keep" outside a work tree.

So let's just do that and add some tests while at it.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>