Commit graph

18120 commits

Author SHA1 Message Date
Junio Hamano
494fbfe87a Speed up reflog pruning of unreachable commits
Instead of doing the (potentially very expensive) "in_merge_base()"
check for each commit that might be pruned if it is unreachable, do a
preparatory reachability graph of the commit space, so that the common
case of being reachable can be tested directly.

[ Cleaned up a bit and tweaked to actually work.  - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-01 12:35:12 -07:00
Linus Torvalds
666e07e697 Clean up reflog unreachability pruning decision
This clarifies the pruning rules for unreachable commits by having a
separate helpder function for the unreachability decision.

It's preparation for actual bigger changes to come to speed up the
decision when the reachability calculations become a bottleneck.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-01 12:28:22 -07:00
Junio C Hamano
442dd42d6d Merge branch 'maint'
* maint:
  Update draft release notes to 1.6.2.2
  Fix bash completion in path with spaces
  bash completion: only show 'log --merge' if merging
  git-tag(1): add hint about commit messages
  Documentation: update graph api example.
2009-03-30 13:29:57 -07:00
Junio C Hamano
8c7f788238 Update draft release notes to 1.6.2.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-30 13:29:31 -07:00
Junio C Hamano
b19293df9e Merge branch 'maint-1.6.1' into maint
* maint-1.6.1:
  Fix bash completion in path with spaces
  bash completion: only show 'log --merge' if merging
  git-tag(1): add hint about commit messages
  Documentation: update graph api example.

Conflicts:
	contrib/completion/git-completion.bash
2009-03-30 13:25:27 -07:00
Junio C Hamano
dcbf041745 Merge branch 'maint-1.6.0' into maint-1.6.1
* maint-1.6.0:
  Fix bash completion in path with spaces
  bash completion: only show 'log --merge' if merging
  git-tag(1): add hint about commit messages
  Documentation: update graph api example.
2009-03-30 13:23:53 -07:00
Santi Béjar
01eadafccb Documentation: push.default applies to all remotes
push.default is not only for the current remote but setting the default
behaviour for all remotes.

Signed-off-by: Santi Béjar <santi@agolina.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-30 09:20:41 -07:00
Santi Béjar
76d3cc50b5 Documentation: enhance branch.<name>.{remote,merge}
The documentation for branch.*.merge is very dense, so add a simple
explanation on top of it.

And branch.*.remote also affects 'git push'.

Signed-off-by: Santi Béjar <santi@agolina.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-30 09:19:37 -07:00
Daniel Cheng (aka SDiZ)
ba7906f2f4 Fix bash completion in path with spaces
Signed-off-by: Daniel Cheng (aka SDiZ) <j16sdiz+freenet@gmail.com>
Trivially-acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-30 09:07:03 -07:00
Thomas Rast
67f1fe5f08 bash completion: only show 'log --merge' if merging
The gitk completion only shows --merge if MERGE_HEAD is present.
Do it the same way for git-log completion.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-30 09:06:48 -07:00
Nico -telmich- Schottelius
abfd5fa872 git-tag(1): add hint about commit messages
If a tag is not annotated, git tag displays the commit message
instead. Add this hint to the manpage to unhide this secret.

Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-30 09:00:04 -07:00
Allan Caffee
7b60d0d3e4 Documentation: update graph api example.
As of commit 03300c0 the graph API uses '*' for all nodes including merges.
This updates the example in the documentation to match.

Signed-off-by: Allan Caffee <allan.caffee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-30 08:59:45 -07:00
Junio C Hamano
f2ad051fd1 Merge branch 'maint'
* maint:
  git-svn: fix ls-tree usage with dash-prefixed paths
  import-zips: fix thinko
2009-03-29 23:11:23 -07:00
Junio C Hamano
510a309e5e Merge branch 'maint-1.6.1' into maint
* maint-1.6.1:
  import-zips: fix thinko
2009-03-29 23:11:13 -07:00
Junio C Hamano
8e4f767ba7 Merge branch 'maint-1.6.0' into maint-1.6.1
* maint-1.6.0:
  import-zips: fix thinko
2009-03-29 23:11:03 -07:00
Jay Soffian
c18f75a1e9 send-email: add tests for refactored prompting
Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-29 21:41:28 -07:00
Jay Soffian
6e1825186b send-email: refactor and ensure prompting doesn't loop forever
Several places in send-email prompt for input, and will do so forever
when the input is EOF. This is poor behavior when send-email is run
unattended (say from cron).

This patch refactors the prompting to an ask() function which takes a
prompt, an optional default, and an optional regex to validate the
input. The function returns on EOF, or if a default is provided and the
user simply types return, or if the input passes the validating regex
(which accepts all input by default). The ask() function gives up after
10 tries in case of invalid input.

There are four callers of the function:

1) "Who should the emails appear to be from?" which provides a default
sender. Previously the user would have to type ctrl-d to accept the
default. Now the user can just hit return, or type ctrl-d.

2) "Who should the emails be sent to?". Previously this prompt passed a
second argument ("") to $term->readline() which was ignored. I believe
the intent was to allow the user to just hit return. Now the user
can do so, or type ctrl-d.

3) "Message-ID to be used as In-Reply-To for the first email?".
Previously this prompt passed a second argument (effectively undef) to
$term->readline() which was ignored. I believe the intent was the same
as for (2), to allow the user to just hit return. Now the user can do
so, or type ctrl-d.

4) "Send this email?". Previously this prompt would loop forever until
it got a valid reply. Now it stops prompting on EOF or a valid reply. In
the case where confirm = "inform", it now defaults to "y" on EOF or the
user hitting return, otherwise an invalid reply causes send-email to
terminate.

A followup patch adds tests for the new functionality.

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-29 21:41:03 -07:00
Eric Wong
b8fee3a388 git-svn: fix ls-tree usage with dash-prefixed paths
To find the blob object name given a tree and pathname, we were
incorrectly calling "git ls-tree" with a "--" argument followed
by the pathname of the file we wanted to get.

  git ls-tree <TREE> -- --dashed/path/name.c

Unlike many command-line interfaces, the "--" alone does not
symbolize the end of non-option arguments on the command-line.

ls-tree interprets the "--" as a prefix to match against, thus
the entire contents of the --dashed/* hierarchy would be
returned because the "--" matches "--dashed" and every path
under it.

Thanks to Anton Gyllenberg for pointing me toward the
Twisted repository as a real-world example of this case.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-29 19:58:10 -07:00
Johannes Schindelin
63801da88d import-zips: fix thinko
Embarrassingly, the common prefix calculation did not work properly, due
to a mistake in the assignment: instead of assigning the dirname of the
current file name, the dirname of the current common prefix needs to
be assigned to common prefix, when the current prefix does not match the
current file name.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-29 19:56:26 -07:00
Simon Arlott
18d5cf908f git-svn: don't output git commits in quiet mode
Ideally only errors should be output in this mode so fetch
can be run from cron and normally produce no output. Without
this change it would output a single line on each git commit,
e.g.
r1909 = 32ef87860662526d4a62f903949ed21e0341079e (u2_10_12_branch)

Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Acked-by: Eric Wong <normalperson@yhbt.net>
2009-03-29 15:42:00 -07:00
Eric Wong
4f821012c3 git-svn: fix ls-tree usage with dash-prefixed paths
To find the blob object name given a tree and pathname, we were
incorrectly calling "git ls-tree" with a "--" argument followed
by the pathname of the file we wanted to get.

  git ls-tree <TREE> -- --dashed/path/name.c

Unlike many command-line interfaces, the "--" alone does not
symbolize the end of non-option arguments on the command-line.

ls-tree interprets the "--" as a prefix to match against, thus
the entire contents of the --dashed/* hierarchy would be
returned because the "--" matches "--dashed" and every path
under it.

Thanks to Anton Gyllenberg for pointing me toward the
Twisted repository as a real-world example of this case.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
2009-03-28 23:00:05 -07:00
Junio C Hamano
b0085a7167 Merge branch 'maint'
* maint:
  test-lib: Clean up comments and Makefile.
  diff --no-index: Do not generate patch output if other output is requested
2009-03-28 01:16:46 -07:00
Junio C Hamano
a1b1ae0571 Update draft release notes to 1.6.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-28 00:55:52 -07:00
Junio C Hamano
aa72a14a7f Merge branch 'jc/maint-1.6.0-diff-borrow-carefully'
* jc/maint-1.6.0-diff-borrow-carefully:
  diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged
2009-03-28 00:42:31 -07:00
Junio C Hamano
48bcfbd134 Merge branch 'js/remote-improvements'
* js/remote-improvements:
  remote: improve sorting of "configure for git push" list
2009-03-28 00:42:22 -07:00
Junio C Hamano
869e13e246 Merge branch 'jk/clone-post-checkout'
* jk/clone-post-checkout:
  githooks documentation: post-checkout hook is also called after clone
2009-03-28 00:42:17 -07:00
Junio C Hamano
9d5156496d Merge branch 'maint-1.6.1' into maint
* maint-1.6.1:
  test-lib: Clean up comments and Makefile.
  diff --no-index: Do not generate patch output if other output is requested
2009-03-28 00:41:50 -07:00
Emil Sit
81db4abf84 test-lib: Clean up comments and Makefile.
Bring documentation in test-lib and clean target
in Makefile in-line with abc5d372.

Signed-off-by: Emil Sit <sit@emilsit.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-28 00:11:27 -07:00
Michele Ballabio
3f7d99282d rebase: fix typo (force_rebas -> force-rebas)
Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-27 14:26:34 -07:00
Junio C Hamano
9856dd811e Merge branch 'db/push-cleanup'
* db/push-cleanup:
  builtin-send-pack.c: avoid empty structure initialization
2009-03-26 21:01:44 -07:00
Brandon Casey
6828f72ffe builtin-send-pack.c: avoid empty structure initialization
The IRIX6.5 MIPSpro Compiler doesn't like it.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-26 21:01:34 -07:00
Wincent Colaiuta
9fe00538c6 Grammar fix for "git merge" man page
As spotted by the eagle eyes of Jeff King.

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-26 09:38:58 -07:00
Junio C Hamano
eed1fcd76d Merge branch 'maint'
* maint:
  documentation: update cvsimport description of "-r" for recent clone
2009-03-26 00:29:05 -07:00
Junio C Hamano
f23336f5c1 Merge branch 'db/push-cleanup'
* db/push-cleanup:
  Move push matching and reporting logic into transport.c
  Use a common function to get the pretty name of refs

Conflicts:
	transport.c
2009-03-26 00:28:46 -07:00
Junio C Hamano
3fcee259d0 Merge branch 'jc/maint-1.6.0-blame-s'
* jc/maint-1.6.0-blame-s:
  blame: read custom grafts given by -S before calling setup_revisions()

Conflicts:
	builtin-blame.c
2009-03-26 00:28:22 -07:00
Junio C Hamano
6422c6af38 Merge branch 'mg/http-auth'
* mg/http-auth:
  http-push.c: use a faux remote to pass to http_init
  Do not name "repo" struct "remote" in push_http.c
  http.c: CURLOPT_NETRC_OPTIONAL is not available in ancient versions of cURL
  http authentication via prompts
  http_init(): Fix config file parsing
  http.c: style cleanups

Conflicts:
	http-push.c
2009-03-26 00:27:59 -07:00
Junio C Hamano
f504fa2acb Merge branch 'jk/reflog-date'
* jk/reflog-date:
  make oneline reflog dates more consistent with multiline format
2009-03-26 00:27:37 -07:00
Junio C Hamano
6ba8b079cb Merge branch 'jc/attributes-checkout'
* jc/attributes-checkout:
  Add a test for checking whether gitattributes is honored by checkout.
  Read attributes from the index that is being checked out
2009-03-26 00:27:33 -07:00
Junio C Hamano
b71fdc590d Merge branch 'js/maint-diff-temp-smudge'
* js/maint-diff-temp-smudge:
  Smudge the files fed to external diff and textconv
2009-03-26 00:27:30 -07:00
Junio C Hamano
b2aa958dc2 Merge branch 'js/maint-1.6.0-exec-path-env'
* js/maint-1.6.0-exec-path-env:
  Propagate --exec-path setting to external commands via GIT_EXEC_PATH
2009-03-26 00:27:03 -07:00
Junio C Hamano
23fd723c9d Merge branch 'bc/maint-1.6.1-branch-deleted-was'
* bc/maint-1.6.1-branch-deleted-was:
  git-branch: display "was sha1" on branch deletion rather than just "sha1"

Conflicts:
	builtin-branch.c
2009-03-26 00:26:47 -07:00
Junio C Hamano
2545c089e3 Merge branch 'fg/push-default'
* fg/push-default:
  builtin-push.c: Fix typo: "anythig" -> "anything"
  Display warning for default git push with no push.default config
  New config push.default to decide default behavior for push

Conflicts:
	Documentation/config.txt
2009-03-26 00:26:25 -07:00
Junio C Hamano
0b3035fe15 Merge branch 'dm/maint-docco'
* dm/maint-docco:
  Documentation: Remove spurious uses of "you" in git-bisect.txt.
  Documentation: minor grammatical fix in git-check-ref-format.txt
  Documentation: minor grammatical fixes in git-check-attr.txt
  Documentation: minor grammatical fixes in git-cat-file.txt
  Documentation: minor grammatical fixes and rewording in git-bundle.txt
  Documentation: remove some uses of the passive voice in git-bisect.txt
2009-03-26 00:26:04 -07:00
Carlo Marcelo Arenas Belon
a8fac795dd documentation: update cvsimport description of "-r" for recent clone
the "--use-separate-remote" option no longer exists, having since
become the default for a clone.

Signed-off-by: Carlo Marcelo Arenas Belon <carenas@sajinet.com.pe>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-26 00:24:26 -07:00
Elijah Newren
ebeec7dbc5 fast-export: Avoid dropping files from commits
When exporting a subset of commits on a branch that do not go back to a
root commit (e.g. master~2..master), we still want each exported commit to
have the same files in the exported tree as in the original tree.

Previously, when given such a range, we would omit master~2 as a parent of
master~1, but we would still diff against master~2 when selecting the list
of files to include in master~1.  This would result in only files that
had changed in the given range showing up in the resulting export.  In such
cases, we should diff master~1 against the root instead (i.e. use
diff_root_tree_sha1 instead of diff_tree_sha1).

There's a special case to consider here: incremental exports (i.e. exports
where the --import-marks flag is specified).  If master~2 is an imported
mark, then we still want to diff master~1 against master~2 when selecting
the list of files to include.

We can handle all cases, including the special case, by just checking
whether master~2 corresponds to a known object mark when deciding what to
diff against.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-25 22:53:45 -07:00
David J. Mellor
19fa5e8c4d Documentation: Remove spurious uses of "you" in git-bisect.txt.
These were added by accident in a42dea3.

This patch also rewords the description of how ranges of commits can be
skipped.

Signed-off-by: David J. Mellor <dmellor@whistlingcat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-25 20:47:29 -07:00
Wincent Colaiuta
4fa535a179 Grammar fixes to "merge" and "patch-id" docs
Signed-off-by: Wincent Colaiuta <win@wincent.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-25 17:28:33 -07:00
Elijah Newren
98e1a4186a Correct missing SP characters in grammar comment at top of fast-import.c
Signed-off-by: Elijah Newren <newren@gmail.com>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-25 16:36:16 -07:00
Elijah Newren
d5b0c97d13 git-filter-branch: avoid collisions with variables in eval'ed commands
Avoid using simple variable names like 'i', since user commands are eval'ed
and may clash with and overwrite our values.

Signed-off-by: Elijah Newren <newren@gmail.com>
Acked-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-25 16:35:52 -07:00
Junio C Hamano
8befac5d6f Merge branch 'for-junio' of git://repo.or.cz/git/mingw/j6t
* 'for-junio' of git://repo.or.cz/git/mingw/j6t:
  t7502-commit: Skip SIGTERM test on Windows
  t7005-editor: Use $SHELL_PATH in the editor scripts
2009-03-25 15:08:09 -07:00