]> Pileus Git - ~andy/git/log
~andy/git
11 years agoMerge branch 'jc/maint-fnmatch-old-style-definition'
Junio C Hamano [Thu, 3 Jan 2013 18:14:05 +0000 (10:14 -0800)]
Merge branch 'jc/maint-fnmatch-old-style-definition'

Update old-style function definition "int foo(bar) int bar; {}"
to "int foo(int bar) {}".

* jc/maint-fnmatch-old-style-definition:
  compat/fnmatch: update old-style definition to ANSI

11 years agoStart 1.8.2 cycle
Junio C Hamano [Wed, 2 Jan 2013 18:44:12 +0000 (10:44 -0800)]
Start 1.8.2 cycle

Various fixes that have been cooking in 'next' have been merged. All
of them should go to 'maint' for 1.8.1.1 later.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'jc/test-portability'
Junio C Hamano [Wed, 2 Jan 2013 18:53:59 +0000 (10:53 -0800)]
Merge branch 'jc/test-portability'

* jc/test-portability:
  t9020: use configured Python to run the test helper
  t3600: Avoid "cp -a", which is a GNUism

11 years agoMerge branch 'jc/maint-fbsd-sh-ifs-workaround'
Junio C Hamano [Wed, 2 Jan 2013 18:40:41 +0000 (10:40 -0800)]
Merge branch 'jc/maint-fbsd-sh-ifs-workaround'

Some shells do not behave correctly when IFS is unset; work it
around by explicitly setting it to the default value.

* jc/maint-fbsd-sh-ifs-workaround:
  sh-setup: work around "unset IFS" bug in some shells

11 years agoMerge branch 'sp/shortlog-missing-lf'
Junio C Hamano [Wed, 2 Jan 2013 18:40:34 +0000 (10:40 -0800)]
Merge branch 'sp/shortlog-missing-lf'

When a line to be wrapped has a solid run of non space characters
whose length exactly is the wrap width, "git shortlog -w" failed to
add a newline after such a line.

* sp/shortlog-missing-lf:
  strbuf_add_wrapped*(): Remove unused return value
  shortlog: fix wrapping lines of wraplen

11 years agoMerge branch 'md/gitweb-sort-by-age'
Junio C Hamano [Wed, 2 Jan 2013 18:40:03 +0000 (10:40 -0800)]
Merge branch 'md/gitweb-sort-by-age'

"gitweb", when sorting by age to show repositories with new
activities first, used to sort repositories with absolutely nothing
in it early, which was not very useful.

* md/gitweb-sort-by-age:
  gitweb: Sort projects with undefined ages last

11 years agoMerge branch 'nd/invalidate-i-t-a-cache-tree'
Junio C Hamano [Wed, 2 Jan 2013 18:39:51 +0000 (10:39 -0800)]
Merge branch 'nd/invalidate-i-t-a-cache-tree'

After "git add -N" and then writing a tree object out of the
index, the cache-tree data structure got corrupted.

* nd/invalidate-i-t-a-cache-tree:
  cache-tree: invalidate i-t-a paths after generating trees
  cache-tree: fix writing cache-tree when CE_REMOVE is present
  cache-tree: replace "for" loops in update_one with "while" loops
  cache-tree: remove dead i-t-a code in verify_cache()

11 years agoMerge branch 'jk/repack-ref-racefix'
Junio C Hamano [Wed, 2 Jan 2013 18:39:36 +0000 (10:39 -0800)]
Merge branch 'jk/repack-ref-racefix'

"git pack-refs" that ran in parallel to another process that created
new refs had a nasty race.

* jk/repack-ref-racefix:
  refs: do not use cached refs in repack_without_ref

11 years agoMerge branch 'rb/http-cert-cred-no-username-prompt'
Junio C Hamano [Wed, 2 Jan 2013 18:39:21 +0000 (10:39 -0800)]
Merge branch 'rb/http-cert-cred-no-username-prompt'

http transport was wrong to ask for the username when the
authentication is done by certificate identity.

* rb/http-cert-cred-no-username-prompt:
  http.c: Avoid username prompt for certifcate credentials

11 years agoMerge branch 'mk/maint-graph-infinity-loop'
Junio C Hamano [Wed, 2 Jan 2013 18:39:09 +0000 (10:39 -0800)]
Merge branch 'mk/maint-graph-infinity-loop'

The --graph code fell into infinite loop when asked to do what the
code did not expect.

* mk/maint-graph-infinity-loop:
  graph.c: infinite loop in git whatchanged --graph -m

11 years agoMerge branch 'ss/svn-prompt'
Junio C Hamano [Wed, 2 Jan 2013 18:38:50 +0000 (10:38 -0800)]
Merge branch 'ss/svn-prompt'

The way "git svn" asked for password using SSH_ASKPASS and
GIT_ASKPASS was not in line with the rest of the system.

* ss/svn-prompt:
  git-svn, perl/Git.pm: extend and use Git->prompt method for querying users
  perl/Git.pm: Honor SSH_ASKPASS as fallback if GIT_ASKPASS is not set
  git-svn, perl/Git.pm: add central method for prompting passwords

11 years agoMerge branch 'jc/mkstemp-more-careful-error-reporting'
Junio C Hamano [Wed, 2 Jan 2013 18:38:25 +0000 (10:38 -0800)]
Merge branch 'jc/mkstemp-more-careful-error-reporting'

After failing to create a temporary file using mkstemp(), failing
pathname was not reported correctly on some platforms.

* jc/mkstemp-more-careful-error-reporting:
  xmkstemp(): avoid showing truncated template more carefully

11 years agoMerge branch 'jc/test-cvs-no-init-in-existing-dir'
Junio C Hamano [Wed, 2 Jan 2013 18:38:09 +0000 (10:38 -0800)]
Merge branch 'jc/test-cvs-no-init-in-existing-dir'

t9200 runs "cvs init" on a directory that already exists, but a
platform can configure this fail for the current user (e.g. you need
to be in the cvsadmin group on NetBSD 6.0).

* jc/test-cvs-no-init-in-existing-dir:
  t9200: let "cvs init" create the test repository

11 years agoMerge branch 'jc/maint-test-portability'
Junio C Hamano [Wed, 2 Jan 2013 18:37:48 +0000 (10:37 -0800)]
Merge branch 'jc/maint-test-portability'

t4014, t9502 and t0200 tests had various portability issues that
broke on OpenBSD.

* jc/maint-test-portability:
  t4014: fix arguments to grep
  t9502: do not assume GNU tar
  t0200: "locale" may not exist

11 years agoMerge branch 'mh/ceiling'
Junio C Hamano [Wed, 2 Jan 2013 18:36:59 +0000 (10:36 -0800)]
Merge branch 'mh/ceiling'

An element on GIT_CEILING_DIRECTORIES list that does not name the
real path to a directory (i.e. a symbolic link) could have caused
the GIT_DIR discovery logic to escape the ceiling.

* mh/ceiling:
  string_list_longest_prefix(): remove function
  setup_git_directory_gently_1(): resolve symlinks in ceiling paths
  longest_ancestor_length(): require prefix list entries to be normalized
  longest_ancestor_length(): take a string_list argument for prefixes
  longest_ancestor_length(): use string_list_split()
  Introduce new function real_path_if_valid()
  real_path_internal(): add comment explaining use of cwd
  Introduce new static function real_path_internal()

11 years agoGit 1.8.1
Junio C Hamano [Mon, 31 Dec 2012 22:24:22 +0000 (14:24 -0800)]
Git 1.8.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'so/prompt-command'
Junio C Hamano [Fri, 28 Dec 2012 00:00:07 +0000 (16:00 -0800)]
Merge branch 'so/prompt-command'

Finishing touches...

* so/prompt-command:
  make __git_ps1 accept a third parameter in pcmode

11 years agoSync with 1.8.0.3
Junio C Hamano [Thu, 27 Dec 2012 23:59:42 +0000 (15:59 -0800)]
Sync with 1.8.0.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.0.3
Junio C Hamano [Thu, 27 Dec 2012 23:57:20 +0000 (15:57 -0800)]
Git 1.8.0.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit(1): show link to contributor summary page
Junio C Hamano [Wed, 12 Dec 2012 18:06:24 +0000 (10:06 -0800)]
git(1): show link to contributor summary page

We earlier removed a link to list of contributors that pointed to a
defunct page; let's use a working one from Ohloh.net to replace it
instead.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'sl/maint-git-svn-docs' into maint
Junio C Hamano [Thu, 27 Dec 2012 23:38:34 +0000 (15:38 -0800)]
Merge branch 'sl/maint-git-svn-docs' into maint

* sl/maint-git-svn-docs:
  git-svn: Note about tags.
  git-svn: Expand documentation for --follow-parent
  git-svn: Recommend use of structure options.
  git-svn: Document branches with at-sign(@).

11 years agogit-svn: Note about tags.
Sebastian Leske [Fri, 23 Nov 2012 07:29:38 +0000 (08:29 +0100)]
git-svn: Note about tags.

Document that 'git svn' will import SVN tags as branches.

Signed-off-by: Sebastian Leske <sebastian.leske@sleske.name>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-svn: Expand documentation for --follow-parent
Sebastian Leske [Fri, 30 Nov 2012 07:16:30 +0000 (08:16 +0100)]
git-svn: Expand documentation for --follow-parent

Describe what the option --follow-parent does, and what happens if it is
set or unset.

Signed-off-by: Sebastian Leske <sebastian.leske@sleske.name>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-svn: Recommend use of structure options.
Sebastian Leske [Fri, 30 Nov 2012 07:16:30 +0000 (08:16 +0100)]
git-svn: Recommend use of structure options.

Document that when using git svn, one should usually either use the
directory structure options to import branches as branches, or only
import one subdirectory. The default behaviour of cloning all branches
and tags as subdirectories in the working copy is usually not what the
user wants.

Signed-off-by: Sebastian Leske <sebastian.leske@sleske.name>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-svn: Document branches with at-sign(@).
Sebastian Leske [Fri, 30 Nov 2012 07:16:30 +0000 (08:16 +0100)]
git-svn: Document branches with at-sign(@).

git svn sometimes creates branches with an at-sign in the name
(branchname@revision). These branches confuse many users and it is a FAQ
why they are created. Document when git svn creates them.

Signed-off-by: Sebastian Leske <sebastian.leske@sleske.name>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'gb/maint-doc-svn-log-window-size' into maint
Junio C Hamano [Thu, 27 Dec 2012 23:34:37 +0000 (15:34 -0800)]
Merge branch 'gb/maint-doc-svn-log-window-size' into maint

* branch 'gb/maint-doc-svn-log-window-size':
  Document git-svn fetch --log-window-size parameter

11 years agoMerge branch 'km/maint-doc-git-reset' into maint
Junio C Hamano [Thu, 27 Dec 2012 23:32:27 +0000 (15:32 -0800)]
Merge branch 'km/maint-doc-git-reset' into maint

* branch 'km/maint-doc-git-reset':
  doc: git-reset: make "<mode>" optional

11 years agogit-remote-helpers.txt: document invocation before input format
Max Horn [Tue, 27 Nov 2012 23:03:21 +0000 (00:03 +0100)]
git-remote-helpers.txt: document invocation before input format

In the distant past, the order things were documented was
'Invocation', 'Commands', 'Capabilities', ...

Then it was decided that before giving a list of Commands, there
should be an overall description of the 'Input format', which was
a wise decision. However, this description was put as the very
first thing, with the rationale that any implementor would want
to know that first.

However, it seems an implementor would actually first need to
know how the remote helper will be invoked, so moving
'Invocation' to the front again seems logical. Moreover, we now
don't switch from discussing the input format to the invocation
style and then back to input related stuff.

Signed-off-by: Max Horn <max@quendi.de>
Acked-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'jk/avoid-mailto-invalid-in-doc' into maint
Junio C Hamano [Thu, 27 Dec 2012 23:27:46 +0000 (15:27 -0800)]
Merge branch 'jk/avoid-mailto-invalid-in-doc' into maint

* jk/avoid-mailto-invalid-in-doc:
  Documentation: don't link to example mail addresses

11 years agoMerge branch 'tj/maint-doc-commit-sign' into maint
Junio C Hamano [Thu, 27 Dec 2012 23:24:51 +0000 (15:24 -0800)]
Merge branch 'tj/maint-doc-commit-sign' into maint

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

11 years agoDocumentation: move diff.wordRegex from config.txt to diff-config.txt
Ramkumar Ramachandra [Tue, 13 Nov 2012 15:42:44 +0000 (21:12 +0530)]
Documentation: move diff.wordRegex from config.txt to diff-config.txt

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

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agomake __git_ps1 accept a third parameter in pcmode
Simon Oosthoek [Wed, 26 Dec 2012 19:15:05 +0000 (20:15 +0100)]
make __git_ps1 accept a third parameter in pcmode

The optional third parameter when __git_ps1 is used in
PROMPT_COMMAND mode as format string for printf to further
customize the way the git status string is embedded in the
user's PS1 prompt.

Signed-off-by: Simon Oosthoek <s.oosthoek@xs4all.nl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot9200: let "cvs init" create the test repository
Junio C Hamano [Tue, 25 Dec 2012 01:09:49 +0000 (17:09 -0800)]
t9200: let "cvs init" create the test repository

Some platforms (e.g. NetBSD 6.0) seem to configure their CVS to
allow "cvs init" in an existing directory only to members of
"cvsadmin".

Instead of preparing an empty directory and then running "cvs init"
on it, let's run "cvs init" and let it create the necessary
directory.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint'
Junio C Hamano [Sun, 23 Dec 2012 04:40:07 +0000 (20:40 -0800)]
Merge branch 'maint'

11 years agoMerge branch 'jc/doc-diff-blobs' into maint
Junio C Hamano [Sun, 23 Dec 2012 04:38:07 +0000 (20:38 -0800)]
Merge branch 'jc/doc-diff-blobs' into maint

* jc/doc-diff-blobs:
  Documentation: Describe "git diff <blob> <blob>" separately

11 years agoMerge branch 'cr/doc-checkout-branch' into maint
Junio C Hamano [Sun, 23 Dec 2012 04:38:02 +0000 (20:38 -0800)]
Merge branch 'cr/doc-checkout-branch' into maint

* cr/doc-checkout-branch:
  Documentation/git-checkout.txt: document 70c9ac2 behavior
  Documentation/git-checkout.txt: clarify usage

11 years agoMerge branch 'ta/api-index-doc' into maint
Junio C Hamano [Sun, 23 Dec 2012 04:37:42 +0000 (20:37 -0800)]
Merge branch 'ta/api-index-doc' into maint

* ta/api-index-doc:
  Remove misleading date from api-index-skel.txt

11 years agoMerge branch 'as/doc-for-devs' into maint
Junio C Hamano [Sun, 23 Dec 2012 04:37:33 +0000 (20:37 -0800)]
Merge branch 'as/doc-for-devs' into maint

* as/doc-for-devs:
  Documentation: move support for old compilers to CodingGuidelines
  SubmittingPatches: add convention of prefixing commit messages

11 years agoMerge branch 'sl/readme-gplv2' into maint
Junio C Hamano [Sun, 23 Dec 2012 04:37:27 +0000 (20:37 -0800)]
Merge branch 'sl/readme-gplv2' into maint

* sl/readme-gplv2:
  README: it does not matter who the current maintainer is
  README: Git is released under the GPLv2, not just "the GPL"

11 years agoMerge branch 'jc/fetch-tags-doc' into maint
Junio C Hamano [Sun, 23 Dec 2012 04:37:22 +0000 (20:37 -0800)]
Merge branch 'jc/fetch-tags-doc' into maint

* jc/fetch-tags-doc:
  fetch --tags: clarify documentation

11 years agoMerge branch 'nd/index-format-doc' into maint
Junio C Hamano [Sun, 23 Dec 2012 04:37:09 +0000 (20:37 -0800)]
Merge branch 'nd/index-format-doc' into maint

* nd/index-format-doc:
  index-format.txt: clarify what is "invalid"

11 years agoMerge branch 'jk/mailmap-cleanup' into maint
Junio C Hamano [Sun, 23 Dec 2012 04:36:42 +0000 (20:36 -0800)]
Merge branch 'jk/mailmap-cleanup' into maint

* jk/mailmap-cleanup:
  contrib: update stats/mailmap script
  .mailmap: normalize emails for Linus Torvalds
  .mailmap: normalize emails for Jeff King
  .mailmap: fix broken entry for Martin Langhoff
  .mailmap: match up some obvious names/emails

11 years agoMerge branch 'ta/doc-cleanup' into maint
Junio C Hamano [Sun, 23 Dec 2012 04:35:34 +0000 (20:35 -0800)]
Merge branch 'ta/doc-cleanup' into maint

* ta/doc-cleanup:
  Documentation: build html for all files in technical and howto
  Documentation/howto: convert plain text files to asciidoc
  Documentation/technical: convert plain text files to asciidoc
  Change headline of technical/send-pack-pipeline.txt to not confuse its content with content from git-send-pack.txt
  Shorten two over-long lines in git-bisect-lk2009.txt by abbreviating some sha1
  Split over-long synopsis in git-fetch-pack.txt into several lines

11 years agoSort howto documents in howto-index.txt
Thomas Ackermann [Sat, 22 Dec 2012 18:34:27 +0000 (19:34 +0100)]
Sort howto documents in howto-index.txt

Howto documents in howto-index.txt were listed in a rather
random order. So better sort them.

Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.1-rc3
Junio C Hamano [Sat, 22 Dec 2012 19:48:47 +0000 (11:48 -0800)]
Git 1.8.1-rc3

The changes since -rc2 are mostly documentation updates.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'ta/new-command-howto'
Junio C Hamano [Fri, 21 Dec 2012 23:19:25 +0000 (15:19 -0800)]
Merge branch 'ta/new-command-howto'

* ta/new-command-howto:
  Move ./technical/api-command.txt to ./howto/new-command.txt

11 years agoMerge branch 'jc/doc-diff-blobs'
Junio C Hamano [Fri, 21 Dec 2012 23:19:13 +0000 (15:19 -0800)]
Merge branch 'jc/doc-diff-blobs'

"git diff <blob> <blob>" was not documented and was only hinted as
an extension to "git diff <commit> <commit> -- <pathspec>", but
comparison between two blobs are more special than that.  It does
not take any pathspec to begin with.

* jc/doc-diff-blobs:
  Documentation: Describe "git diff <blob> <blob>" separately

11 years agoMerge branch 'cr/doc-checkout-branch'
Junio C Hamano [Fri, 21 Dec 2012 23:19:08 +0000 (15:19 -0800)]
Merge branch 'cr/doc-checkout-branch'

Document the magic "git checkout <no-such-branch>" hack to create
local branch out of a remote tracking branch that hasn't been
documented so far.

* cr/doc-checkout-branch:
  Documentation/git-checkout.txt: document 70c9ac2 behavior
  Documentation/git-checkout.txt: clarify usage

11 years agoMerge branch 'ta/api-index-doc'
Junio C Hamano [Fri, 21 Dec 2012 23:19:04 +0000 (15:19 -0800)]
Merge branch 'ta/api-index-doc'

* ta/api-index-doc:
  Remove misleading date from api-index-skel.txt

11 years agoMerge branch 'jk/avoid-mailto-invalid-in-doc'
Junio C Hamano [Fri, 21 Dec 2012 23:18:57 +0000 (15:18 -0800)]
Merge branch 'jk/avoid-mailto-invalid-in-doc'

Avoids invalid sample e-mail addresses from becoming mailto links
in the formatted output.

* jk/avoid-mailto-invalid-in-doc:
  Documentation: don't link to example mail addresses

11 years agoMerge branch 'as/doc-for-devs'
Junio C Hamano [Fri, 21 Dec 2012 23:18:47 +0000 (15:18 -0800)]
Merge branch 'as/doc-for-devs'

It might be a better idea to move the text the bottom one adds to
the extended description from the quick checklist part.

* as/doc-for-devs:
  Documentation: move support for old compilers to CodingGuidelines
  SubmittingPatches: add convention of prefixing commit messages

11 years agoMerge branch 'sl/readme-gplv2'
Junio C Hamano [Fri, 21 Dec 2012 23:18:41 +0000 (15:18 -0800)]
Merge branch 'sl/readme-gplv2'

Clarify that the project as a whole is GPLv2 only, with some parts
borrowed under different licenses that are compatible with GPLv2.

* sl/readme-gplv2:
  README: it does not matter who the current maintainer is
  README: Git is released under the GPLv2, not just "the GPL"

11 years agoMerge branch 'jc/fetch-tags-doc'
Junio C Hamano [Fri, 21 Dec 2012 23:18:35 +0000 (15:18 -0800)]
Merge branch 'jc/fetch-tags-doc'

"git fetch --tags" was explained as if it were "git fetch
--no-no-tags", which is not the case, causing confusion.

* jc/fetch-tags-doc:
  fetch --tags: clarify documentation

11 years agoMerge branch 'nd/index-format-doc'
Junio C Hamano [Fri, 21 Dec 2012 23:18:31 +0000 (15:18 -0800)]
Merge branch 'nd/index-format-doc'

* nd/index-format-doc:
  index-format.txt: clarify what is "invalid"

11 years agoMerge branch 'sl/git-svn-docs'
Junio C Hamano [Fri, 21 Dec 2012 23:18:27 +0000 (15:18 -0800)]
Merge branch 'sl/git-svn-docs'

* sl/git-svn-docs:
  git-svn: Note about tags.
  git-svn: Expand documentation for --follow-parent
  git-svn: Recommend use of structure options.
  git-svn: Document branches with at-sign(@).

11 years agoMerge branch 'jk/mailmap-cleanup'
Junio C Hamano [Fri, 21 Dec 2012 23:18:20 +0000 (15:18 -0800)]
Merge branch 'jk/mailmap-cleanup'

Update various entries in our .mailmap file.

* jk/mailmap-cleanup:
  contrib: update stats/mailmap script
  .mailmap: normalize emails for Linus Torvalds
  .mailmap: normalize emails for Jeff King
  .mailmap: fix broken entry for Martin Langhoff
  .mailmap: match up some obvious names/emails

11 years agoMove ./technical/api-command.txt to ./howto/new-command.txt
Thomas Ackermann [Fri, 21 Dec 2012 18:05:28 +0000 (19:05 +0100)]
Move ./technical/api-command.txt to ./howto/new-command.txt

The contents of this document does not describe any particular API, but
is more about the way to add a new command, which belongs to the "How To"
section of the documentation suite.

Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agohttp.c: Avoid username prompt for certifcate credentials
Rene Bredlau [Fri, 21 Dec 2012 16:31:19 +0000 (17:31 +0100)]
http.c: Avoid username prompt for certifcate credentials

If sslCertPasswordProtected is set to true do not ask for username to decrypt rsa key. This question is pointless, the key is only protected by a password. Internaly the username is simply set to "".

Signed-off-by: Rene Bredlau <git@unrelated.de>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agorefs: do not use cached refs in repack_without_ref
Jeff King [Fri, 21 Dec 2012 08:04:49 +0000 (03:04 -0500)]
refs: do not use cached refs in repack_without_ref

When we delete a ref that is packed, we rewrite the whole
packed-refs file and simply omit the ref that no longer
exists. However, we base the rewrite on whatever happens to
be in our refs cache, not what is necessarily on disk. That
opens us up to a race condition if another process is
simultaneously packing the refs, as we will overwrite their
newly-made pack-refs file with our potentially stale data,
losing commits.

You can demonstrate the race like this:

  # setup some repositories
  git init --bare parent &&
  (cd parent && git config core.logallrefupdates true) &&
  git clone parent child &&
  (cd child && git commit --allow-empty -m base)

  # in one terminal, repack the refs repeatedly
  cd parent &&
  while true; do
git pack-refs --all
  done

  # in another terminal, simultaneously push updates to
  # master, and create and delete an unrelated ref
  cd child &&
  while true; do
git push origin HEAD:newbranch &&
git commit --allow-empty -m foo
us=`git rev-parse master` &&
git push origin master &&
git push origin :newbranch &&
them=`git --git-dir=../parent rev-parse master` &&
if test "$them" != "$us"; then
echo >&2 "$them" != "$us"
exit 1
fi
  done

In many cases the two processes will conflict over locking
the packed-refs file, and the deletion of newbranch will
simply fail.  But eventually you will hit the race, which
happens like this:

  1. We push a new commit to master. It is already packed
     (from the looping pack-refs call). We write the new
     value (let us call it B) to $GIT_DIR/refs/heads/master,
     but the old value (call it A) remains in the
     packed-refs file.

  2. We push the deletion of newbranch, spawning a
     receive-pack process. Receive-pack advertises all refs
     to the client, causing it to iterate over each ref; it
     caches the packed refs in memory, which points at the
     stale value A.

  3. Meanwhile, a separate pack-refs process is running. It
     runs to completion, updating the packed-refs file to
     point master at B, and deleting $GIT_DIR/refs/heads/master
     which also pointed at B.

  4. Back in the receive-pack process, we get the
     instruction to delete :newbranch. We take a lock on
     packed-refs (which works, as the other pack-refs
     process has already finished). We then rewrite the
     contents using the cached refs, which contain the stale
     value A.

The resulting packed-refs file points master once again at
A. The loose ref which would override it to point at B was
deleted (rightfully) in step 3. As a result, master now
points at A. The only trace that B ever existed in the
parent is in the reflog: the final entry will show master
moving from A to B, even though the ref still points at A
(so you can detect this race after the fact, because the
next reflog entry will move from A to C).

We can fix this by invalidating the packed-refs cache after
we have taken the lock. This means that we will re-read the
packed-refs file, and since we have the lock, we will be
sure that what we read will be atomically up-to-date when we
write (it may be out of date with respect to loose refs, but
that is OK, as loose refs take precedence).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoRemove duplicate entry in ./Documentation/Makefile
Thomas Ackermann [Wed, 19 Dec 2012 18:15:25 +0000 (19:15 +0100)]
Remove duplicate entry in ./Documentation/Makefile

Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocompat/fnmatch: update old-style definition to ANSI
Junio C Hamano [Wed, 19 Dec 2012 16:54:25 +0000 (08:54 -0800)]
compat/fnmatch: update old-style definition to ANSI

We try to avoid touching borrowed code, but we encourage people to
write without old-style definition and compile with -Werror these
days, and on platforms that need to use NO_FNMATCH, these three
functions make the compilation fail.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot9020: use configured Python to run the test helper
Junio C Hamano [Wed, 19 Dec 2012 04:41:15 +0000 (20:41 -0800)]
t9020: use configured Python to run the test helper

The test helper svnrdump_sim.py is used as "svnrdump" during the
execution of this test, but the arrangement was not optimal:

 - it relied on symbolic links;
 - unportable "export VAR=VAL" was used;
 - GIT_BUILD_DIR variable was not quoted correctly;
 - it assumed that the Python interpreter is in /usr/bin/ and
   called "python" (i.e. not "python2.7" etc.)

Rework this by writing a small shell script that spawns the right
Python interpreter, using the right quoting.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot3600: Avoid "cp -a", which is a GNUism
Junio C Hamano [Wed, 19 Dec 2012 02:47:50 +0000 (18:47 -0800)]
t3600: Avoid "cp -a", which is a GNUism

With d4a7ffa (tests: "cp -a" is a GNUism, 2012-10-08), we got rid of
most of them, but the ones in a topic that was still in flight were
missed.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'jc/maint-test-portability' into 'jc/test-portability'
Junio C Hamano [Wed, 19 Dec 2012 15:46:05 +0000 (07:46 -0800)]
Merge branch 'jc/maint-test-portability' into 'jc/test-portability'

* jc/maint-test-portability:
  t4014: fix arguments to grep
  t9502: do not assume GNU tar
  t0200: "locale" may not exist

11 years agot4014: fix arguments to grep
Junio C Hamano [Wed, 19 Dec 2012 03:13:30 +0000 (19:13 -0800)]
t4014: fix arguments to grep

These "expect-failure" tests were not looking for the right string
in the patch file.  For example:

grep "^ *"S. E. Cipient" <scipient@example.com>\$" patch5

was looking for "^ *S." in these three files:

    "E."
    "Cipient <scipient@example.com>$"
    "patch5"

With some implementations of grep, the lack of file "E." was
reported as an error, leading to the failure of the test.

With other implementations of grep, the pattern "^ *S." matched what
was in patch5, without diagnosing the missing files as an error, and
made these tests unexpectedly pass.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot9502: do not assume GNU tar
Junio C Hamano [Wed, 19 Dec 2012 04:57:13 +0000 (20:57 -0800)]
t9502: do not assume GNU tar

The check_snapshot function makes sure that no cruft outside the
repository hierarchy is added to the tar archive.  The output from
"tar tf" on the resulting archive is inspected to see if there is
anything that does not begin with "$prefix/".

There are two issues with this implementation:

 - Traditional tar implemenations that do not understand
   pax_global_header will write it out as if it is a plain file at
   the top-level;

 - Some implementations of tar do not add trailing slash when
   showing a directory entry (i.e. the output line for the entire
   archive will show "$prefix", not "$prefix/").

Fix them so that what we want to validate can be tested with
traditional tar implementations.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot0200: "locale" may not exist
Junio C Hamano [Wed, 19 Dec 2012 06:44:56 +0000 (22:44 -0800)]
t0200: "locale" may not exist

On systems without "locale" installed, t0200-gettext-basic.sh leaked
error messages when checking if some test locales are available.
Hide them, as they are not very useful.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint'
Junio C Hamano [Tue, 18 Dec 2012 23:35:01 +0000 (15:35 -0800)]
Merge branch 'maint'

* maint:
  t7004: do not create unneeded gpghome/gpg.conf when GPG is not used

11 years agoxmkstemp(): avoid showing truncated template more carefully
Junio C Hamano [Tue, 18 Dec 2012 20:51:35 +0000 (12:51 -0800)]
xmkstemp(): avoid showing truncated template more carefully

Some implementations of xmkstemp() leaves the given in/out buffer
truncated when they return with failure.

6cf6bb3 (Improve error messages when temporary file creation fails,
2010-12-18) attempted to show the real filename we tried to create
(but failed), and if that is not available due to such truncation,
to show the original template that was given by the caller.

But it failed to take into account that the given template could
have "directory/" in front, in which case the truncation point may
not be template[0] but somewhere else.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoDocumentation: Describe "git diff <blob> <blob>" separately
Junio C Hamano [Tue, 18 Dec 2012 19:35:28 +0000 (11:35 -0800)]
Documentation: Describe "git diff <blob> <blob>" separately

As it was not a common operation, it was described as if it is a
side note for the more common two-commit variant, but this mode
behaves very differently, e.g. it does not make any sense to ask
recursive behaviour, or give the command a pathspec.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot7004: do not create unneeded gpghome/gpg.conf when GPG is not used
Junio C Hamano [Tue, 18 Dec 2012 19:26:24 +0000 (11:26 -0800)]
t7004: do not create unneeded gpghome/gpg.conf when GPG is not used

These tests themselves are properly protected by the GPG
prerequisite, but one of the set-up steps outside the
test_expect_success block unconditionally assumed that there is a
gpghome/ directory, which is not true if GPG is not being used.

It may be a good idea to move the whole set-up steps in the test but
that is a follow-up topic.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoDocumentation/git-checkout.txt: document 70c9ac2 behavior
Chris Rorvick [Mon, 17 Dec 2012 06:45:02 +0000 (00:45 -0600)]
Documentation/git-checkout.txt: document 70c9ac2 behavior

Document the behavior implemented in 70c9ac2 (DWIM "git checkout
frotz" to "git checkout -b frotz origin/frotz").

Signed-off-by: Chris Rorvick <chris@rorvick.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoDocumentation/git-checkout.txt: clarify usage
Chris Rorvick [Mon, 17 Dec 2012 06:45:01 +0000 (00:45 -0600)]
Documentation/git-checkout.txt: clarify usage

The forms of checkout that do not take a path are lumped together in
the DESCRIPTION section, but the description for this group is
dominated by explanation of the -b|-B form.

Split these apart for more clarity.

Signed-off-by: Chris Rorvick <chris@rorvick.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoSync with 'maint'
Junio C Hamano [Tue, 18 Dec 2012 18:51:22 +0000 (10:51 -0800)]
Sync with 'maint'

11 years agoMerge branch 'jk/pickaxe-textconv' into maint
Junio C Hamano [Tue, 18 Dec 2012 18:50:07 +0000 (10:50 -0800)]
Merge branch 'jk/pickaxe-textconv' into maint

"git log -p -S<string>" now looks for the <string> after applying
the textconv filter (if defined); earlier it inspected the contents
of the blobs without filtering.

11 years agoclarify -M without % symbol in diff-options
Sitaram Chamarty [Tue, 18 Dec 2012 10:47:09 +0000 (16:17 +0530)]
clarify -M without % symbol in diff-options

Signed-off-by: Sitaram Chamarty <sitaramc@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-svn, perl/Git.pm: extend and use Git->prompt method for querying users
Sven Strickroth [Tue, 18 Dec 2012 00:28:48 +0000 (01:28 +0100)]
git-svn, perl/Git.pm: extend and use Git->prompt method for querying users

git-svn reads usernames and other user queries from an interactive
terminal. This cause GUIs (w/o STDIN connected) to hang waiting forever
for git-svn to complete (http://code.google.com/p/tortoisegit/issues/detail?id=967).

This change extends the Git::prompt helper, so that it can also be used
for non password queries, and makes use of it instead of using
hand-rolled prompt-response code that only works with the interactive
terminal.

Signed-off-by: Sven Strickroth <email@cs-ware.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoperl/Git.pm: Honor SSH_ASKPASS as fallback if GIT_ASKPASS is not set
Sven Strickroth [Tue, 18 Dec 2012 00:28:47 +0000 (01:28 +0100)]
perl/Git.pm: Honor SSH_ASKPASS as fallback if GIT_ASKPASS is not set

If GIT_ASKPASS environment variable is not set, git-svn does not try to use
SSH_ASKPASS as git-core does. This change adds a fallback to SSH_ASKPASS.

Signed-off-by: Sven Strickroth <email@cs-ware.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-svn, perl/Git.pm: add central method for prompting passwords
Sven Strickroth [Tue, 18 Dec 2012 00:28:45 +0000 (01:28 +0100)]
git-svn, perl/Git.pm: add central method for prompting passwords

git-svn reads passwords from an interactive terminal or by using
GIT_ASKPASS helper tool. This cause GUIs (w/o STDIN connected) to hang
waiting forever for git-svn to complete
(http://code.google.com/p/tortoisegit/issues/detail?id=967).

Commit 56a853b62c0ae7ebaad0a7a0a704f5ef561eb795 also tried to solve
this issue, but was incomplete as described above.

Instead of using hand-rolled prompt-response code that only works with the
interactive terminal, a reusable prompt() method is introduced in this commit.

Signed-off-by: Sven Strickroth <email@cs-ware.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoDocumentation: move support for old compilers to CodingGuidelines
Adam Spiers [Sun, 16 Dec 2012 19:36:00 +0000 (19:36 +0000)]
Documentation: move support for old compilers to CodingGuidelines

The "Try to be nice to older C compilers" text is clearly a guideline
to be borne in mind whilst coding rather than when submitting patches.

Signed-off-by: Adam Spiers <git@adamspiers.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoSubmittingPatches: add convention of prefixing commit messages
Adam Spiers [Sun, 16 Dec 2012 19:35:59 +0000 (19:35 +0000)]
SubmittingPatches: add convention of prefixing commit messages

Conscientious newcomers to git development will read SubmittingPatches
and CodingGuidelines, but could easily miss the convention of
prefixing commit messages with a single word identifying the file
or area the commit touches.

Signed-off-by: Adam Spiers <git@adamspiers.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoDocumentation: don't link to example mail addresses
John Keeping [Sun, 16 Dec 2012 14:00:29 +0000 (14:00 +0000)]
Documentation: don't link to example mail addresses

Email addresses in documentation are converted into mailto: hyperlinks
in the HTML output and footnotes in man pages.  This isn't desirable for
cases where the address is used as an example and is not valid.

Particularly annoying is the example "jane@laptop.(none)" which appears
in git-shortlog(1) as "jane@laptop[1].(none)", with note 1 saying:

1. jane@laptop
   mailto:jane@laptop

Fix this by escaping these email addresses with a leading backslash, to
prevent Asciidoc expanding them as inline macros.

In the case of mailmap.txt, render the address monospaced so that it
matches the block examples surrounding that paragraph.

Helped-by: Jeff King <peff@peff.net>
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoRemove misleading date from api-index-skel.txt
Thomas Ackermann [Sun, 16 Dec 2012 08:42:49 +0000 (09:42 +0100)]
Remove misleading date from api-index-skel.txt

Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocache-tree: invalidate i-t-a paths after generating trees
Nguyễn Thái Ngọc Duy [Sun, 16 Dec 2012 04:15:28 +0000 (11:15 +0700)]
cache-tree: invalidate i-t-a paths after generating trees

Intent-to-add entries used to forbid writing trees so it was not a
problem. After commit 3f6d56d (commit: ignore intent-to-add entries
instead of refusing - 2012-02-07), we can generate trees from an index
with i-t-a entries.

However, the commit forgets to invalidate all paths leading to i-t-a
entries. With fully valid cache-tree (e.g. after commit or
write-tree), diff operations may prefer cache-tree to index and not
see i-t-a entries in the index, because cache-tree does not have them.

Reported-by: Jonathon Mah <me@JonathonMah.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocache-tree: fix writing cache-tree when CE_REMOVE is present
Nguyễn Thái Ngọc Duy [Sun, 16 Dec 2012 04:15:27 +0000 (11:15 +0700)]
cache-tree: fix writing cache-tree when CE_REMOVE is present

entry_count is used in update_one() for two purposes:

1. to skip through the number of processed entries in in-memory index
2. to record the number of entries this cache-tree covers on disk

Unfortunately when CE_REMOVE is present these numbers are not the same
because CE_REMOVE entries are automatically removed before writing to
disk but entry_count is not adjusted and still counts CE_REMOVE
entries.

Separate the two use cases into two different variables. #1 is taken
care by the new field count in struct cache_tree_sub and entry_count
is prepared for #2.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocache-tree: replace "for" loops in update_one with "while" loops
Nguyễn Thái Ngọc Duy [Sun, 16 Dec 2012 04:15:26 +0000 (11:15 +0700)]
cache-tree: replace "for" loops in update_one with "while" loops

The loops in update_one can be increased in two different ways: step
by one for files and by <n> for directories. "for" loop is not
suitable for this as it always steps by one and special handling is
required for directories. Replace them with "while" loops for clarity.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocache-tree: remove dead i-t-a code in verify_cache()
Nguyễn Thái Ngọc Duy [Sun, 16 Dec 2012 04:15:25 +0000 (11:15 +0700)]
cache-tree: remove dead i-t-a code in verify_cache()

This code is added in 331fcb5 (git add --intent-to-add: do not let an
empty blob be committed by accident - 2008-11-28) to forbid committing
when i-t-a entries are present. When we allow that, we forgot to
remove this.

Noticed-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoREADME: it does not matter who the current maintainer is
Junio C Hamano [Sun, 16 Dec 2012 06:24:10 +0000 (22:24 -0800)]
README: it does not matter who the current maintainer is

The audience of this introductory document does not have to know nor
interact with the maintainer, so drop the mention of him.  Other
documents such as SubmittingPatches may be a more suitable place to
have it.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoREADME: Git is released under the GPLv2, not just "the GPL"
Stefano Lattarini [Fri, 14 Dec 2012 15:37:47 +0000 (16:37 +0100)]
README: Git is released under the GPLv2, not just "the GPL"

And this is clearly stressed by Linus in the COPYING file.  So make it
clear in the README as well, to avoid possible misunderstandings.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.1-rc2
Junio C Hamano [Sat, 15 Dec 2012 19:19:02 +0000 (11:19 -0800)]
Git 1.8.1-rc2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoRenumber list in api-command.txt
Thomas Ackermann [Sat, 15 Dec 2012 08:29:07 +0000 (09:29 +0100)]
Renumber list in api-command.txt

Start list with 1 instead of 0; ASCIIDOC will renumber it anyway.

Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-testsvn: fix unitialized variable
Jeff King [Fri, 14 Dec 2012 22:11:44 +0000 (17:11 -0500)]
remote-testsvn: fix unitialized variable

In remote-test-svn, there is a parse_rev_note function to
parse lines of the form "Revision-number" from notes. If it
finds such a line and parses it, it returns 0, copying the
value into a "struct rev_note". If it finds an entry that is
garbled or out of range, it returns -1 to signal an error.

However, if it does not find any "Revision-number" line at
all, it returns success but does not put anything into the
rev_note. So upon a successful return, the rev_note may or
may not be initialized, and the caller has no way of
knowing.

gcc does not usually catch the use of the unitialized
variable because the conditional assignment happens in a
separate function from the point of use. However, when
compiling with -O3, gcc will inline parse_rev_note and
notice the problem.

We can fix it by returning "-1" when no note is found (so on
a zero return, we always found a valid value).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agofetch --tags: clarify documentation
Junio C Hamano [Fri, 14 Dec 2012 00:19:45 +0000 (16:19 -0800)]
fetch --tags: clarify documentation

Explain that --tags is just like another explicit refspec on the
command line and as such overrides the default refspecs configured
via the remote.$name.fetch variable.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint'
Junio C Hamano [Thu, 13 Dec 2012 19:13:56 +0000 (11:13 -0800)]
Merge branch 'maint'

11 years agoFix sizeof usage in get_permutations
Matthew Daley [Thu, 13 Dec 2012 13:36:30 +0000 (02:36 +1300)]
Fix sizeof usage in get_permutations

Currently it gets the size of an otherwise unrelated, unused variable
instead of the expected struct size.

Signed-off-by: Matthew Daley <mattjd@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'mh/doc-remote-helpers'
Junio C Hamano [Thu, 13 Dec 2012 19:00:15 +0000 (11:00 -0800)]
Merge branch 'mh/doc-remote-helpers'

* mh/doc-remote-helpers:
  git-remote-helpers.txt: clarify options & ref list attributes
  git-remote-helpers.txt: clarify command <-> capability correspondences
  git-remote-helpers.txt: rearrange description of capabilities
  git-remote-helpers.txt: minor grammar fix
  git-remote-helpers.txt: document missing capabilities
  git-remote-helpers.txt: document invocation before input format

11 years agogit.txt: add missing info about --git-dir command-line option
Manlio Perillo [Thu, 13 Dec 2012 17:57:19 +0000 (18:57 +0100)]
git.txt: add missing info about --git-dir command-line option

Unlike other environment variables (e.g. GIT_WORK_TREE, GIT_NAMESPACE),
the Documentation/git.txt file did not mention that the GIT_DIR
environment variable can also be set using the --git-dir command line
option.

Signed-off-by: Manlio Perillo <manlio.perillo@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoindex-format.txt: clarify what is "invalid"
Nguyễn Thái Ngọc Duy [Thu, 13 Dec 2012 01:14:47 +0000 (08:14 +0700)]
index-format.txt: clarify what is "invalid"

A cache-tree entry with a negative entry count is considered invalid
by the current Git; it records that we do not know the object name
of a tree that would result by writing the directory covered by the
cache-tree as a tree object.

Clarify that any entry with a negative entry count is invalid, but
the implementations must write -1 there. This way, we can later
decide to allow writers to use negative values other than -1 to
encode optional information on such invalidated entries without
harming interoperability; we do not know what will be encoded and
how, so we keep these other negative values as reserved for now.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit(1): show link to contributor summary page
Junio C Hamano [Wed, 12 Dec 2012 18:06:24 +0000 (10:06 -0800)]
git(1): show link to contributor summary page

We earlier removed a link to list of contributors that pointed to a
defunct page; let's use a working one from Ohloh.net to replace it
instead.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocontrib: update stats/mailmap script
Jeff King [Wed, 12 Dec 2012 11:41:41 +0000 (06:41 -0500)]
contrib: update stats/mailmap script

This version changes quite a few things:

  1. The original parsed the mailmap file itself, and it did
     it wrong (it did not understand entries with an extra
     email key).

     Instead, this version uses git's "%aE" and "%aN"
     formats to have git perform the mapping, meaning we do
     not have to read .mailmap at all, but still operate on
     the current state that git sees (and it also works
     properly from subdirs).

  2. The original would find multiple names for an email,
     but not the other way around.

     This version can do either or both. If we find multiple
     emails for a name, the resolution is less obvious than
     the other way around. However, it can still be a
     starting point for a human to investigate.

  3. The original would order only by count, not by recency.

     This version can do either. Combined with showing the
     counts, it can be easier to decide how to resolve.

  4. This version shows similar entries in a blank-delimited
     stanza, which makes it more clear which options you are
     picking from.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>