Commit graph

20668 commits

Author SHA1 Message Date
Junio C Hamano 1f73566af5 Merge branch 'jc/checkout-merge-base'
* jc/checkout-merge-base:
  rebase -i: teach --onto A...B syntax
  rebase: fix --onto A...B parsing and add tests
  "rebase --onto A...B" replays history on the merge base between A and B
  "checkout A...B" switches to the merge base between A and B
2010-01-13 12:31:13 -08:00
Junio C Hamano 5b9c0a699b Merge branch 'rs/maint-archive-match-pathspec'
* rs/maint-archive-match-pathspec:
  archive: complain about path specs that don't match anything
2010-01-13 12:31:01 -08:00
Junio C Hamano bd33a29283 Merge branch 'il/vcs-helper'
* il/vcs-helper:
  Reset possible helper before reusing remote structure
  Remove special casing of http, https and ftp
  Support remote archive from all smart transports
  Support remote helpers implementing smart transports
  Support taking over transports
  Refactor git transport options parsing
  Pass unknown protocols to external protocol handlers
  Support mandatory capabilities
  Add remote helper debug mode

Conflicts:
	Documentation/git-remote-helpers.txt
	transport-helper.c
2010-01-13 12:30:39 -08:00
Junio C Hamano dc96c5ee70 Merge branch 'cc/reset-more'
* cc/reset-more:
  t7111: check that reset options work as described in the tables
  Documentation: reset: add some missing tables
  Fix bit assignment for CE_CONFLICTED
  "reset --merge": fix unmerged case
  reset: use "unpack_trees()" directly instead of "git read-tree"
  reset: add a few tests for "git reset --merge"
  Documentation: reset: add some tables to describe the different options
  reset: improve mixed reset error message when in a bare repo
2010-01-13 11:58:56 -08:00
Junio C Hamano 73d66323ac Merge branch 'nd/sparse'
* nd/sparse: (25 commits)
  t7002: test for not using external grep on skip-worktree paths
  t7002: set test prerequisite "external-grep" if supported
  grep: do not do external grep on skip-worktree entries
  commit: correctly respect skip-worktree bit
  ie_match_stat(): do not ignore skip-worktree bit with CE_MATCH_IGNORE_VALID
  tests: rename duplicate t1009
  sparse checkout: inhibit empty worktree
  Add tests for sparse checkout
  read-tree: add --no-sparse-checkout to disable sparse checkout support
  unpack-trees(): ignore worktree check outside checkout area
  unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index
  unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout
  unpack-trees.c: generalize verify_* functions
  unpack-trees(): add CE_WT_REMOVE to remove on worktree alone
  Introduce "sparse checkout"
  dir.c: export excluded_1() and add_excludes_from_file_1()
  excluded_1(): support exclude files in index
  unpack-trees(): carry skip-worktree bit over in merged_entry()
  Read .gitignore from index if it is skip-worktree
  Avoid writing to buffer in add_excludes_from_file_1()
  ...

Conflicts:
	.gitignore
	Documentation/config.txt
	Documentation/git-update-index.txt
	Makefile
	entry.c
	t/t7002-grep.sh
2010-01-13 11:58:34 -08:00
Junio C Hamano 054d2fa05c Merge branch 'maint'
* maint:
  remote-curl: Fix Accept header for smart HTTP connections
  grep: -L should show empty files
  rebase--interactive: Ignore comments and blank lines in peek_next_command
2010-01-12 15:48:38 -08:00
Matthieu Moy a8c37a0e01 lockfile: show absolute filename in unable_to_lock_message
When calling a git command from a subdirectory and a file locking fails,
the user will get a path relative to the root of the worktree, which is
invalid from the place where the command is ran. Make it easy for the
user to know which file it is.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-12 15:48:24 -08:00
Bart Trojanowski 0def5b6ed4 hg-to-git: fix COMMITTER type-o
This script passes the author and committer to git-commit via environment
variables, but it was missing the seccond T of COMMITTER in a few places.

Signed-off-by: Bart Trojanowski <bart@jukie.net>
Acked-by: Stelian Pop <stelian@popies.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-12 13:18:27 -08:00
Shawn O. Pearce 8efa5f629e remote-curl: Fix Accept header for smart HTTP connections
We actually expect to see an application/x-git-upload-pack-result
but we lied and said we Accept *-response.  This was a typo on my
part when I was writing the code.

Fortunately the wrong Accept header had no real impact, as the
deployed git-http-backend servers were not testing the Accept
header before they returned their content.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-12 13:09:44 -08:00
Junio C Hamano fbb9971aca grep: -L should show empty files
The -L (--files-without-match) option is supposed to show paths that
produced no matches.  When running the internal grep on work tree files,
however, we had an optimization to just return on zero-sized files,
without doing anything.

This optimization doesn't matter too much in practice (a tracked empty
file must be rare, or there is something wrong with your project); to
produce results consistent with GNU grep, we should stop the optimization
and show empty files as not having the given pattern.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-12 00:47:02 -08:00
Matthieu Moy c0eb604330 push: spell 'Note about fast-forwards' section name correctly in error message.
The error message in case of non-fast forward points to 'git push
--help', but used to talk about a section 'non-fast-forward', while the
actual section name is 'Note about fast-forwards'.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-11 20:34:16 -08:00
Michael Haggerty 2b77029f4a rebase--interactive: Ignore comments and blank lines in peek_next_command
Previously, blank lines and/or comments within a series of
squash/fixup commands would confuse "git rebase -i" into thinking that
the series was finished.  It would therefore require the user to edit
the commit message for the squash/fixup commits seen so far.  Then,
after continuing, it would ask the user to edit the commit message
again.

Ignore comments and blank lines within a group of squash/fixup
commands, allowing them to be processed in one go.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-11 20:31:48 -08:00
Junio C Hamano 637afcf4e0 Merge branch 'tr/http-updates'
* tr/http-updates:
  Remove http.authAny
  Allow curl to rewind the RPC read buffer
  Add an option for using any HTTP authentication scheme, not only basic
  http: maintain curl sessions
2010-01-10 08:53:04 -08:00
Junio C Hamano 0b4ae29f03 Merge branch 'jk/maint-1.6.5-reset-hard'
* jk/maint-1.6.5-reset-hard:
  reset: unbreak hard resets with GIT_WORK_TREE
2010-01-10 08:52:53 -08:00
Junio C Hamano 84d52cabe7 Merge branch 'jk/push-to-delete'
* jk/push-to-delete:
  builtin-push: add --delete as syntactic sugar for :foo
2010-01-10 08:52:45 -08:00
Junio C Hamano 9c787f3f88 Merge branch 'mm/config-path'
* mm/config-path:
  builtin-config: add --path option doing ~ and ~user expansion.
2010-01-10 08:52:41 -08:00
Junio C Hamano df248216fd Merge branch 'pm/cvs-environ'
* pm/cvs-environ:
  CVS Server: Support reading base and roots from environment
2010-01-10 08:52:37 -08:00
Junio C Hamano 0196f4b5a3 Merge branch 'tr/maint-1.6.5-bash-prompt-show-submodule-changes'
* tr/maint-1.6.5-bash-prompt-show-submodule-changes:
  bash completion: factor submodules into dirty state
2010-01-10 08:52:32 -08:00
Junio C Hamano 7f695d262a Merge branch 'bg/maint-remote-update-default'
* bg/maint-remote-update-default:
  Fix "git remote update" with remotes.defalt set
2010-01-10 08:52:24 -08:00
Junio C Hamano 2b35fccf73 Merge branch 'mm/diag-path-in-treeish'
* mm/diag-path-in-treeish:
  Detailed diagnosis when parsing an object name fails.
2010-01-10 08:52:10 -08:00
Junio C Hamano ed7e9ed5cd Merge branch 'fc/opt-quiet-gc-reset'
* fc/opt-quiet-gc-reset:
  General --quiet improvements
2010-01-10 08:52:06 -08:00
Junio C Hamano 83b10ca25f Merge branch 'maint'
* maint:
  base85: Make the code more obvious instead of explaining the non-obvious
  base85: encode_85() does not use the decode table
  base85 debug code: Fix length byte calculation
  Documentation: tiny git config manual tweaks
  Documentation: git gc packs refs by default now
  checkout -m: do not try to fall back to --merge from an unborn branch
2010-01-10 00:52:04 -08:00
Junio C Hamano 8fb5d44a47 Merge branch 'maint-1.6.2' into maint
* maint-1.6.2:
  base85: Make the code more obvious instead of explaining the non-obvious
  base85: encode_85() does not use the decode table
  base85 debug code: Fix length byte calculation
  checkout -m: do not try to fall back to --merge from an unborn branch

Conflicts:
	diff.c
2010-01-10 00:51:54 -08:00
Junio C Hamano c5034673fd Merge branch 'maint-1.6.1' into maint-1.6.2
* maint-1.6.1:
  base85: Make the code more obvious instead of explaining the non-obvious
  base85: encode_85() does not use the decode table
  base85 debug code: Fix length byte calculation
  checkout -m: do not try to fall back to --merge from an unborn branch
  branch: die explicitly why when calling "git branch [-a|-r] branchname".
  textconv: stop leaking file descriptors
  commit: --cleanup is a message option
  git count-objects: handle packs bigger than 4G
  t7102: make the test fail if one of its check fails

Conflicts:
	diff.c
2010-01-10 00:49:47 -08:00
Junio C Hamano 96aa7adda3 Merge branch 'maint-1.6.0' into maint-1.6.1
* maint-1.6.0:
  base85: Make the code more obvious instead of explaining the non-obvious
  base85: encode_85() does not use the decode table
  base85 debug code: Fix length byte calculation
  checkout -m: do not try to fall back to --merge from an unborn branch
  branch: die explicitly why when calling "git branch [-a|-r] branchname".
2010-01-10 00:48:47 -08:00
Erik Faye-Lund 15515b7371 daemon: consider only address in kill_some_child()
kill_some_child() compares the entire sockaddr_storage
structure (with the pad-bits zeroed out) when trying to
find out if connections originate from the same host.
However, sockaddr_storage contains the port-number for
the connection (which varies between connections), so
the comparison always fails.

Change the code so we only consider the host-address,
by introducing the addrcmp()-function that inspects
the address family and compare as appropriate.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-09 23:43:49 -08:00
Christian Couder 3caa82396c help: fix configured help format taking over command line one
Since commit 7c3baa9 (help -a: do not unnecessarily look for a
repository, 2009-09-04), the help format that is passed as a
command line option is not used if an help format has been
configured. This patch fixes that.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-09 23:42:48 -08:00
Thiago Farina 0afcb5f791 string-list: rename the include guard to STRING_LIST_H
Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-09 23:39:11 -08:00
Christian Couder d7eed8cbef t7111: check that reset options work as described in the tables
Some previous patches added some tables to the "git reset"
documentation. These tables describe the behavior of "git reset"
depending on the option it is passed and the state of the files
in the working tree, the index, HEAD and the target commit.

This patch adds some tests to make sure that the tables describe
the behavior of "git reset".

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-09 23:38:43 -08:00
Andreas Gruenbacher 0606c36a73 base85: Make the code more obvious instead of explaining the non-obvious
Here is another cleanup ...

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-09 22:43:47 -08:00
Andreas Gruenbacher b0bec518aa base85: encode_85() does not use the decode table
Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-09 22:43:37 -08:00
Andreas Gruenbacher 75b7e16b6e base85 debug code: Fix length byte calculation
Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-09 22:43:27 -08:00
Jonathan Nieder 578b62bfa2 Documentation: tiny git config manual tweaks
As a verb, 'setup' is spelled 'set up'.  “diff commands such as
diff-files” scans better without a comma.  Clarify that shallow
and deep are special non-boolean values for format.thread rather
than boolean values with some other name.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-09 22:41:08 -08:00
Jonathan Nieder efc266e8ae Documentation: git gc packs refs by default now
In commit 56752391 (Make "git gc" pack all refs by default,
2007-05-24), 'git gc' was changed to run pack-refs by default

Versions before v1.5.1.2 cannot clone repos with packed refs over
http, and versions before v1.4.4 cannot handled packed refs at
all, but more recent git should have no problems.  Try to make
this more clear in the git-config manual.

The analagous passage in git-gc.txt was updated already with
commit fe2128a (Change git-gc documentation to reflect
gc.packrefs implementation., 2008-01-09).

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-09 22:40:52 -08:00
Ilari Liusvaara 27a557a9ff Reset possible helper before reusing remote structure
If one had multiple URLs configured for remote with previous one
having forced helper but the subsequent one not, like:

url = foo::bar://baz
url = ssh://example/example.git

Then the subsequent URL is passed to foo helper, which isn't
correct. Fix it to be parsed normally by resetting foreign VCS
name before parsing the URL protocol.

Signed-off-by: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-09 22:38:49 -08:00
Junio C Hamano d6f8fd0b3e Describe second batch for 1.7.0 in draft release notes
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-07 15:47:32 -08:00
Junio C Hamano f012d27ff3 Merge branch 'js/filter-branch-prime'
* js/filter-branch-prime:
  filter-branch: remove an unnecessary use of 'git read-tree'
2010-01-07 15:40:30 -08:00
Junio C Hamano 3259ada4c7 Merge branch 'sb/maint-octopus'
* sb/maint-octopus:
  octopus: remove dead code
  octopus: reenable fast-forward merges
  octopus: make merge process simpler to follow

Conflicts:
	git-merge-octopus.sh
2010-01-07 15:40:21 -08:00
Junio C Hamano 0ad6f1a988 Merge branch 'mg/tag-d-show'
* mg/tag-d-show:
  tag -d: print sha1 of deleted tag
2010-01-07 15:38:50 -08:00
Junio C Hamano aec7de4bed Merge branch 'so/cvsserver-update'
* so/cvsserver-update:
  cvsserver: make the output of 'update' more compatible with cvs.
2010-01-07 15:38:11 -08:00
Junio C Hamano 693f2b1792 Merge branch 'bg/maint-add-all-doc'
* bg/maint-add-all-doc:
  git-rm doc: Describe how to sync index & work tree
  git-add/rm doc: Consistently back-quote
  Documentation: 'git add -A' can remove files
2010-01-07 15:37:57 -08:00
Björn Gustavsson 47b7012024 git-rm doc: Describe how to sync index & work tree
Newcomers to git that want to remove from the index only the
files that have disappeared from the working tree will probably
look for a way to do that in the documentation for 'git rm'.

Therefore, describe how that can be done (even though it involves
other commands than 'git rm'). Based on a suggestion by Junio,
but re-arranged and rewritten to better fit into the style of
command reference.

While at it, change a single occurrence of "work tree" to "working
tree" for consistency.

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-07 15:37:33 -08:00
Junio C Hamano 762c710b36 Merge branch 'mv/commit-date'
* mv/commit-date:
  Document date formats accepted by parse_date()
  builtin-commit: add --date option
2010-01-07 15:35:55 -08:00
Junio C Hamano 79f6ce5717 Merge branch 'mo/bin-wrappers'
* mo/bin-wrappers:
  INSTALL: document a simpler way to run uninstalled builds
  run test suite without dashed git-commands in PATH
  build dashless "bin-wrappers" directory similar to installed bindir
2010-01-07 15:35:52 -08:00
Nanako Shiraishi 230a456638 rebase -i: teach --onto A...B syntax
When rewriting commits on a topic branch, sometimes it is easier to
compare the version of commits before and after the rewrite if they are
based on the same commit that forked from the upstream. An earlier commit
by Junio (fixed up by the previous commit) gives "--onto A...B" syntax to
rebase command, and rebases on top of the merge base between A and B;
teach the same to the interactive version, too.

Signed-off-by: しらいし ななこ <nanako3@lavabit.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-07 11:15:20 -08:00
Nanako Shiraishi 9f21e97ddc rebase: fix --onto A...B parsing and add tests
The previous patch didn't parse "rebase --onto A...B" correctly when A
isn't an empty string. It also tried to be careful to notice a case in
which there are more than one merge bases, but forgot to give --all option
to merge-base, making the test pointless.

Fix these problems and add a test script to verify. Improvements to the
script to parse A...B syntax was taken from review comments by Johannes
Schindelin.

Signed-off-by: しらいし ななこ <nanako3@lavabit.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-07 11:14:39 -08:00
Junio C Hamano 64da3ae5c1 checkout -m: do not try to fall back to --merge from an unborn branch
If switching from an unborn branch (= empty tree) to a valid commit failed
without -m, it would fail with -m option as well.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-06 23:51:47 -08:00
Nguyễn Thái Ngọc Duy 8740773ee5 t7002: test for not using external grep on skip-worktree paths
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-06 18:29:23 -08:00
Nguyễn Thái Ngọc Duy cd83ac4156 t7002: set test prerequisite "external-grep" if supported
Add another test to set prerequisite EXTGREP if the current build supports
external grep. This can be used to skip external grep only tests on builds
that do not support this optimization.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-06 18:28:11 -08:00
Junio C Hamano 2df3299d86 .gitattributes: detect 8-space indent in shell scripts
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-06 12:22:25 -08:00