]> granicus.if.org Git - git/log
git
12 years agoMerge branch 'jk/bisect-prn-unsigned'
Junio C Hamano [Sun, 7 Apr 2013 21:32:54 +0000 (14:32 -0700)]
Merge branch 'jk/bisect-prn-unsigned'

* jk/bisect-prn-unsigned:
  bisect: avoid signed integer overflow

12 years agoMerge branch 'rr/triangle'
Junio C Hamano [Sun, 7 Apr 2013 21:32:50 +0000 (14:32 -0700)]
Merge branch 'rr/triangle'

Support "pull from one place, push to another place" workflow
better by introducing remote.pushdefault (overrides the "origin"
thing) and branch.*.pushremote (overrides the branch.*.remote).

* rr/triangle:
  remote.c: introduce branch.<name>.pushremote
  remote.c: introduce remote.pushdefault
  remote.c: introduce a way to have different remotes for fetch/push
  t5516 (fetch-push): drop implicit arguments from helper functions
  t5516 (fetch-push): update test description
  remote.c: simplify a bit of code using git_config_string()

12 years agoMerge branch 'mm/status-during-revert'
Junio C Hamano [Sun, 7 Apr 2013 21:32:03 +0000 (14:32 -0700)]
Merge branch 'mm/status-during-revert'

"git status" learned to report that you are in the middle of a
revert session, just like it does for a cherry-pick and a bisect
session.

* mm/status-during-revert:
  status: show commit sha1 in "You are currently reverting" message
  status: show 'revert' state and status hint

12 years agoMerge branch 'jk/set-upstream-error-cases'
Junio C Hamano [Sun, 7 Apr 2013 21:31:08 +0000 (14:31 -0700)]
Merge branch 'jk/set-upstream-error-cases'

The handing by "git branch --set-upstream-to" against various forms
of errorneous inputs were suboptimal.

* jk/set-upstream-error-cases:
  branch: give advice when tracking start-point is missing
  branch: mention start_name in set-upstream error messages
  branch: improve error message for missing --set-upstream-to ref
  branch: factor out "upstream is not a branch" error messages
  t3200: test --set-upstream-to with bogus refs

12 years agoMerge branch 'jk/filter-branch-come-back-to-original'
Junio C Hamano [Sun, 7 Apr 2013 21:29:34 +0000 (14:29 -0700)]
Merge branch 'jk/filter-branch-come-back-to-original'

When used with "-d temporary-directory" option, "git filter-branch"
failed to come back to the original working tree to perform the
final clean-up procedure.

* jk/filter-branch-come-back-to-original:
  filter-branch: return to original dir after filtering

12 years agogitremote-helpers(1): clarify refspec behaviour
John Keeping [Sat, 6 Apr 2013 18:13:41 +0000 (19:13 +0100)]
gitremote-helpers(1): clarify refspec behaviour

The documentation says that "If no 'refspec' capability is advertised,
there is an implied `refspec *:*`" but this is only the case for the
"import" command.

Since there is a comment in transport-helper.c indicating that this
default is for historical reasons, change the documentation to clarify
that a refspec should always be specified.

Signed-off-by: John Keeping <john@keeping.me.uk>
Acked-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agofast-export: Allow pruned-references in mark file
Antoine Pelisse [Sat, 6 Apr 2013 17:04:31 +0000 (19:04 +0200)]
fast-export: Allow pruned-references in mark file

fast-export can fail because of some pruned-reference when importing a
mark file.

The problem happens in the following scenario:

    $ git fast-export --export-marks=MARKS master
    (rewrite master)
    $ git prune
    $ git fast-export --import-marks=MARKS master

This might fail if some references have been removed by prune
because some marks will refer to no longer existing commits.
git-fast-export will not need these objects anyway as they were no
longer reachable.

We still need to update last_numid so we don't change the mapping
between marks and objects for remote-helpers.
Unfortunately, the mark file should not be rewritten without lost marks
if no new objects has been exported, as we could lose track of the last
last_numid.

Signed-off-by: Antoine Pelisse <apelisse@gmail.com>
Reviewed-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoremote-bzr: add utf-8 support for pushing
Felipe Contreras [Sat, 6 Apr 2013 03:49:23 +0000 (21:49 -0600)]
remote-bzr: add utf-8 support for pushing

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoremote-bzr: add utf-8 support for fetching
Timotheus Pokorra [Sat, 6 Apr 2013 03:49:22 +0000 (21:49 -0600)]
remote-bzr: add utf-8 support for fetching

[fc: added tests]

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoremote-bzr: avoid unreferred tags
Felipe Contreras [Sat, 6 Apr 2013 03:49:21 +0000 (21:49 -0600)]
remote-bzr: avoid unreferred tags

They have no content, there's nothing we can do with them.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoremote-bzr: only update workingtree on local repos
Felipe Contreras [Sat, 6 Apr 2013 03:49:20 +0000 (21:49 -0600)]
remote-bzr: only update workingtree on local repos

Apparently, that's the only way it's possible.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoremote-bzr: set author if available
David Engster [Sat, 6 Apr 2013 03:49:19 +0000 (21:49 -0600)]
remote-bzr: set author if available

[fc: added tests]

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoremote-bzr: remove files before modifications
Christophe Simonis [Sat, 6 Apr 2013 03:49:18 +0000 (21:49 -0600)]
remote-bzr: remove files before modifications

Allow re-add of a deleted file in the same commit.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoremote-bzr: fix directory renaming
Christophe Simonis [Sat, 6 Apr 2013 03:49:17 +0000 (21:49 -0600)]
remote-bzr: fix directory renaming

Git does not handle directories, renaming a directory is renaming every
files in this directory.

[fc: added tests]

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoUpdate draft release notes to 1.8.3
Junio C Hamano [Fri, 5 Apr 2013 21:19:57 +0000 (14:19 -0700)]
Update draft release notes to 1.8.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'mh/rev-parse-verify-doc'
Junio C Hamano [Fri, 5 Apr 2013 21:15:20 +0000 (14:15 -0700)]
Merge branch 'mh/rev-parse-verify-doc'

"rev-parse --verify" was documented in a misleading way.

* mh/rev-parse-verify-doc:
  rev-parse: clarify documentation for the --verify option

12 years agoMerge branch 'sg/gpg-sig'
Junio C Hamano [Fri, 5 Apr 2013 21:15:16 +0000 (14:15 -0700)]
Merge branch 'sg/gpg-sig'

Teach "merge/pull" to optionally verify and reject commits that are
not signed properly.

* sg/gpg-sig:
  pretty printing: extend %G? to include 'N' and 'U'
  merge/pull Check for untrusted good GPG signatures
  merge/pull: verify GPG signatures of commits being merged
  commit.c/GPG signature verification: Also look at the first GPG status line
  Move commit GPG signature verification to commit.c

12 years agoMerge branch 'jl/submodule-deinit'
Junio C Hamano [Fri, 5 Apr 2013 21:15:13 +0000 (14:15 -0700)]
Merge branch 'jl/submodule-deinit'

A finishing touch to the new topic in 1.8.3.

* jl/submodule-deinit:
  submodule deinit: clarify work tree removal message

12 years agoMerge branch 'rr/send-email-perl-critique'
Junio C Hamano [Fri, 5 Apr 2013 21:14:48 +0000 (14:14 -0700)]
Merge branch 'rr/send-email-perl-critique'

Update "git send-email" for issues noticed by PerlCritic.

* rr/send-email-perl-critique:
  send-email: use the three-arg form of open in recipients_cmd
  send-email: drop misleading function prototype
  send-email: use "return;" not "return undef;" on error codepaths

12 years agoMerge branch 'jc/merge-tag-object'
Junio C Hamano [Fri, 5 Apr 2013 21:14:41 +0000 (14:14 -0700)]
Merge branch 'jc/merge-tag-object'

"git merge $(git rev-parse v1.8.2)" behaved quite differently from
"git merge v1.8.2" as if v1.8.2 were written as v1.8.2^0 and did
not pay much attention to the annotated tag payload.

This makes the code notice the type of the tag object, in addition
to the dwim_ref() based classification the current code uses
(i.e. the name appears in refs/tags/) to decide when to special
case merging of tags.

* jc/merge-tag-object:
  t6200: test message for merging of an annotated tag
  t6200: use test_config/test_unconfig
  merge: a random object may not necssarily be a commit

12 years agoSync with maint
Junio C Hamano [Thu, 4 Apr 2013 20:03:50 +0000 (13:03 -0700)]
Sync with maint

* maint:
  mailmap: update Pasky's address
  git-remote-mediawiki: new wiki URL in documentation

12 years agomailmap: update Pasky's address
Junio C Hamano [Thu, 4 Apr 2013 20:03:34 +0000 (13:03 -0700)]
mailmap: update Pasky's address

Eric Wong noticed that the address at suse.cz no longer works.
We may want to update in-code addresses as well, but let's do
this first in 'maint'.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'nd/index-pack-threaded-fixes' into maint
Junio C Hamano [Thu, 4 Apr 2013 20:00:41 +0000 (13:00 -0700)]
Merge branch 'nd/index-pack-threaded-fixes' into maint

* nd/index-pack-threaded-fixes:
  index-pack: guard nr_resolved_deltas reads by lock
  index-pack: protect deepest_delta in multithread code

12 years agoMerge branch 'jk/index-pack-correct-depth-fix' into maint
Junio C Hamano [Thu, 4 Apr 2013 20:00:37 +0000 (13:00 -0700)]
Merge branch 'jk/index-pack-correct-depth-fix' into maint

* jk/index-pack-correct-depth-fix:
  index-pack: always zero-initialize object_entry list

12 years agoMerge branch 'rs/submodule-summary-limit' into maint
Junio C Hamano [Thu, 4 Apr 2013 20:00:35 +0000 (13:00 -0700)]
Merge branch 'rs/submodule-summary-limit' into maint

"submodule summary --summary-limit" option did not support
"--option=value" form.

* rs/submodule-summary-limit:
  submodule summary: support --summary-limit=<n>

12 years agoMerge branch 'jk/peel-ref' into maint
Junio C Hamano [Thu, 4 Apr 2013 19:59:55 +0000 (12:59 -0700)]
Merge branch 'jk/peel-ref' into maint

* jk/peel-ref:
  upload-pack: load non-tip "want" objects from disk
  upload-pack: make sure "want" objects are parsed
  upload-pack: drop lookup-before-parse optimization

12 years agogit-remote-mediawiki: new wiki URL in documentation
Matthieu Moy [Thu, 4 Apr 2013 07:56:03 +0000 (09:56 +0200)]
git-remote-mediawiki: new wiki URL in documentation

The Bibzball wiki is not maintained anymore.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agobisect: avoid signed integer overflow
John Keeping [Wed, 3 Apr 2013 19:17:55 +0000 (20:17 +0100)]
bisect: avoid signed integer overflow

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoUpdate draft release notes to 1.8.3
Junio C Hamano [Wed, 3 Apr 2013 16:43:47 +0000 (09:43 -0700)]
Update draft release notes to 1.8.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoSync with maint
Junio C Hamano [Wed, 3 Apr 2013 16:44:34 +0000 (09:44 -0700)]
Sync with maint

12 years agoMerge branch 'jc/sha1-name-object-peeler'
Junio C Hamano [Wed, 3 Apr 2013 16:34:53 +0000 (09:34 -0700)]
Merge branch 'jc/sha1-name-object-peeler'

There was no good way to ask "I have a random string that came from
outside world. I want to turn it into a 40-hex object name while
making sure such an object exists".  A new peeling suffix ^{object}
can be used for that purpose, together with "rev-parse --verify".

* jc/sha1-name-object-peeler:
  peel_onion(): teach $foo^{object} peeler
  peel_onion: disambiguate to favor tree-ish when we know we want a tree-ish

12 years agoMerge branch 'jc/t5516-pushInsteadOf-vs-pushURL'
Junio C Hamano [Wed, 3 Apr 2013 16:34:48 +0000 (09:34 -0700)]
Merge branch 'jc/t5516-pushInsteadOf-vs-pushURL'

Update a test to match the documented interaction between pushURL
and pushInsteadOf.

* jc/t5516-pushInsteadOf-vs-pushURL:
  t5516: test interaction between pushURL and pushInsteadOf correctly

12 years agoMerge branch 'rs/submodule-summary-limit'
Junio C Hamano [Wed, 3 Apr 2013 16:34:46 +0000 (09:34 -0700)]
Merge branch 'rs/submodule-summary-limit'

"submodule summary --summary-limit" option did not support
"--option=value" form.

* rs/submodule-summary-limit:
  submodule summary: support --summary-limit=<n>

12 years agoMerge branch 'tr/valgrind'
Junio C Hamano [Wed, 3 Apr 2013 16:34:44 +0000 (09:34 -0700)]
Merge branch 'tr/valgrind'

Let us use not just memgrind but other *grind debuggers.

* tr/valgrind:
  tests: notice valgrind error in test_must_fail
  tests --valgrind: provide a mode without --track-origins
  tests: parameterize --valgrind option
  t/README: --valgrind already implies -v

12 years agoMerge branch 'rr/prompt-revert-head'
Junio C Hamano [Wed, 3 Apr 2013 16:34:43 +0000 (09:34 -0700)]
Merge branch 'rr/prompt-revert-head'

The prompt string generator did not notice when we are in a middle
of a "git revert" session.

* rr/prompt-revert-head:
  bash: teach __git_ps1 about REVERT_HEAD

12 years agoMerge branch 'jm/branch-rename-nothing-error'
Junio C Hamano [Wed, 3 Apr 2013 16:34:40 +0000 (09:34 -0700)]
Merge branch 'jm/branch-rename-nothing-error'

"git branch -m" without any argument noticed an error, but with an
incorrect error message.

* jm/branch-rename-nothing-error:
  branch: give better message when no names specified for rename

12 years agoMerge branch 'js/iterm-is-on-osx'
Junio C Hamano [Wed, 3 Apr 2013 16:34:37 +0000 (09:34 -0700)]
Merge branch 'js/iterm-is-on-osx'

Add more logic to detect graphic environment of OS X by simply
checking TERM_PROGRAM has some value, not Apple_Terminal, to detect
iTerm.app and any other.

* js/iterm-is-on-osx:
  git-web--browse: recognize any TERM_PROGRAM as a GUI terminal on OS X

12 years agoMerge branch 'jk/check-corrupt-objects-carefully'
Junio C Hamano [Wed, 3 Apr 2013 16:34:28 +0000 (09:34 -0700)]
Merge branch 'jk/check-corrupt-objects-carefully'

Have the streaming interface and other codepaths more carefully
examine for corrupt objects.

* jk/check-corrupt-objects-carefully:
  clone: leave repo in place after checkout errors
  clone: run check_everything_connected
  clone: die on errors from unpack_trees
  add tests for cloning corrupted repositories
  streaming_write_entry: propagate streaming errors
  add test for streaming corrupt blobs
  avoid infinite loop in read_istream_loose
  read_istream_filtered: propagate read error from upstream
  check_sha1_signature: check return value from read_istream
  stream_blob_to_fd: detect errors reading from stream

12 years agoMerge branch 'jc/apply-ws-fix-tab-in-indent'
Junio C Hamano [Wed, 3 Apr 2013 16:34:22 +0000 (09:34 -0700)]
Merge branch 'jc/apply-ws-fix-tab-in-indent'

"git apply --whitespace=fix" was not prepared to see a line getting
longer after fixing whitespaces (e.g. tab-in-indent aka Python).

* jc/apply-ws-fix-tab-in-indent:
  test: resurrect q_to_tab
  apply --whitespace=fix: avoid running over the postimage buffer

12 years agoMerge branch 'jk/difftool-no-overwrite-on-copyback'
Junio C Hamano [Wed, 3 Apr 2013 16:34:09 +0000 (09:34 -0700)]
Merge branch 'jk/difftool-no-overwrite-on-copyback'

Try to be careful when difftool backend allows the user to write
into the temporary files being shown *and* the user makes changes
to the working tree at the same time. One of the changes has to be
lost in such a case, but at least tell the user what he did.

* jk/difftool-no-overwrite-on-copyback:
  t7800: run --dir-diff tests with and without symlinks
  t7800: fix tests when difftool uses --no-symlinks
  t7800: don't hide grep output
  difftool: don't overwrite modified files
  t7800: move '--symlinks' specific test to the end

12 years agoMerge branch 'jc/directory-attrs-regression-fix'
Junio C Hamano [Wed, 3 Apr 2013 16:34:04 +0000 (09:34 -0700)]
Merge branch 'jc/directory-attrs-regression-fix'

Fix 1.8.1.x regression that stopped matching "dir" (without
trailing slash) to a directory "dir".

* jc/directory-attrs-regression-fix:
  t: check that a pattern without trailing slash matches a directory
  dir.c::match_pathname(): pay attention to the length of string parameters
  dir.c::match_pathname(): adjust patternlen when shifting pattern
  dir.c::match_basename(): pay attention to the length of string parameters
  attr.c::path_matches(): special case paths that end with a slash
  attr.c::path_matches(): the basename is part of the pathname

12 years agoMerge branch 'nd/checkout-paths-reduce-match-pathspec-calls'
Junio C Hamano [Wed, 3 Apr 2013 16:34:00 +0000 (09:34 -0700)]
Merge branch 'nd/checkout-paths-reduce-match-pathspec-calls'

Consolidate repeated pathspec matches on the same paths, while
fixing a bug in "git checkout dir/" code started from an unmerged
index.

* nd/checkout-paths-reduce-match-pathspec-calls:
  checkout: avoid unnecessary match_pathspec calls

12 years agoUpdate draft release notes to 1.8.2.1
Junio C Hamano [Wed, 3 Apr 2013 16:29:14 +0000 (09:29 -0700)]
Update draft release notes to 1.8.2.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'mg/gpg-interface-using-status' into maint
Junio C Hamano [Wed, 3 Apr 2013 16:26:27 +0000 (09:26 -0700)]
Merge branch 'mg/gpg-interface-using-status' into maint

Verification of signed tags were not done correctly when not in C
or en/US locale.

* mg/gpg-interface-using-status:
  pretty: make %GK output the signing key for signed commits
  pretty: parse the gpg status lines rather than the output
  gpg_interface: allow to request status return
  log-tree: rely upon the check in the gpg_interface
  gpg-interface: check good signature in a reliable way

12 years agoMerge branch 'bc/commit-complete-lines-given-via-m-option' into maint
Junio C Hamano [Wed, 3 Apr 2013 16:26:07 +0000 (09:26 -0700)]
Merge branch 'bc/commit-complete-lines-given-via-m-option' into maint

'git commit -m "$msg"' used to add an extra newline even when
$msg already ended with one.

* bc/commit-complete-lines-given-via-m-option:
  Documentation/git-commit.txt: rework the --cleanup section
  git-commit: only append a newline to -m mesg if necessary
  t7502: demonstrate breakage with a commit message with trailing newlines
  t/t7502: compare entire commit message with what was expected

12 years agoMerge branch 'jc/describe' into maint
Junio C Hamano [Wed, 3 Apr 2013 16:25:52 +0000 (09:25 -0700)]
Merge branch 'jc/describe' into maint

The "--match=<pattern>" option of "git describe", when used with
"--all" to allow refs that are not annotated tags to be used as a
base of description, did not restrict the output from the command to
those that match the given pattern.

* jc/describe:
  describe: --match=<pattern> must limit the refs even when used with --all

12 years agoMerge branch 'jk/alias-in-bare' into maint
Junio C Hamano [Wed, 3 Apr 2013 16:25:41 +0000 (09:25 -0700)]
Merge branch 'jk/alias-in-bare' into maint

An aliased command spawned from a bare repository that does not say
it is bare with "core.bare = yes" is treated as non-bare by mistake.

* jk/alias-in-bare:
  setup: suppress implicit "." work-tree for bare repos
  environment: add GIT_PREFIX to local_repo_env
  cache.h: drop LOCAL_REPO_ENV_SIZE

12 years agoMerge branch 'ks/rfc2047-one-char-at-a-time' into maint
Junio C Hamano [Wed, 3 Apr 2013 16:25:29 +0000 (09:25 -0700)]
Merge branch 'ks/rfc2047-one-char-at-a-time' into maint

When "format-patch" quoted a non-ascii strings on the header files,
it incorrectly applied rfc2047 and chopped a single character in the
middle of it.

* ks/rfc2047-one-char-at-a-time:
  format-patch: RFC 2047 says multi-octet character may not be split

12 years agoMerge branch 'jk/empty-archive' into maint
Junio C Hamano [Wed, 3 Apr 2013 16:25:15 +0000 (09:25 -0700)]
Merge branch 'jk/empty-archive' into maint

"git archive" reports a failure when asked to create an archive out
of an empty tree.  It would be more intuitive to give an empty
archive back in such a case.

* jk/empty-archive:
  archive: handle commits with an empty tree
  test-lib: factor out $GIT_UNZIP setup

12 years agoMerge branch 'ph/tag-force-no-warn-on-creation' into maint
Junio C Hamano [Wed, 3 Apr 2013 16:24:51 +0000 (09:24 -0700)]
Merge branch 'ph/tag-force-no-warn-on-creation' into maint

"git tag -f <tag>" always said "Updated tag '<tag>'" even when
creating a new tag (i.e. not overwriting nor updating).

* ph/tag-force-no-warn-on-creation:
  tag: --force does not have to warn when creating tags

12 years agoMerge branch 'lf/setup-prefix-pathspec' into maint
Junio C Hamano [Wed, 3 Apr 2013 16:24:18 +0000 (09:24 -0700)]
Merge branch 'lf/setup-prefix-pathspec' into maint

"git cmd -- ':(top'" was not diagnosed as an invalid syntax, and
instead the parser kept reading beyond the end of the string.

* lf/setup-prefix-pathspec:
  setup.c: check that the pathspec magic ends with ")"
  setup.c: stop prefix_pathspec() from looping past the end of string

12 years agoSync with 1.8.1 maintenance track
Junio C Hamano [Wed, 3 Apr 2013 16:18:01 +0000 (09:18 -0700)]
Sync with 1.8.1 maintenance track

* maint-1.8.1:
  Start preparing for 1.8.1.6
  git-tag(1): we tag HEAD by default
  Fix revision walk for commits with the same dates
  t2003: work around path mangling issue on Windows
  pack-refs: add fully-peeled trait
  pack-refs: write peeled entry for non-tags
  use parse_object_or_die instead of die("bad object")
  avoid segfaults on parse_object failure
  entry: fix filter lookup
  t2003: modernize style
  name-hash.c: fix endless loop with core.ignorecase=true

12 years agoStart preparing for 1.8.1.6
Junio C Hamano [Wed, 3 Apr 2013 16:12:11 +0000 (09:12 -0700)]
Start preparing for 1.8.1.6

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'kb/name-hash' into maint-1.8.1
Junio C Hamano [Wed, 3 Apr 2013 15:44:54 +0000 (08:44 -0700)]
Merge branch 'kb/name-hash' into maint-1.8.1

* kb/name-hash:
  name-hash.c: fix endless loop with core.ignorecase=true

12 years agoMerge branch 'kk/revwalk-slop-too-many-commit-within-a-second' into maint-1.8.1
Junio C Hamano [Wed, 3 Apr 2013 15:44:02 +0000 (08:44 -0700)]
Merge branch 'kk/revwalk-slop-too-many-commit-within-a-second' into maint-1.8.1

* kk/revwalk-slop-too-many-commit-within-a-second:
  Fix revision walk for commits with the same dates

12 years agoMerge branch 'jk/checkout-attribute-lookup' into maint-1.8.1
Junio C Hamano [Wed, 3 Apr 2013 15:43:40 +0000 (08:43 -0700)]
Merge branch 'jk/checkout-attribute-lookup' into maint-1.8.1

* jk/checkout-attribute-lookup:
  t2003: work around path mangling issue on Windows
  entry: fix filter lookup
  t2003: modernize style

12 years agoMerge branch 'jk/fully-peeled-packed-ref' into maint-1.8.1
Junio C Hamano [Wed, 3 Apr 2013 15:43:03 +0000 (08:43 -0700)]
Merge branch 'jk/fully-peeled-packed-ref' into maint-1.8.1

* jk/fully-peeled-packed-ref:
  pack-refs: add fully-peeled trait
  pack-refs: write peeled entry for non-tags
  use parse_object_or_die instead of die("bad object")
  avoid segfaults on parse_object failure

12 years agoMerge branch 'ap/maint-diff-rename-avoid-overlap' into maint-1.8.1
Junio C Hamano [Wed, 3 Apr 2013 15:37:39 +0000 (08:37 -0700)]
Merge branch 'ap/maint-diff-rename-avoid-overlap' into maint-1.8.1

* ap/maint-diff-rename-avoid-overlap:
  tests: make sure rename pretty print works
  diff: prevent pprint_rename from underrunning input
  diff: Fix rename pretty-print when suffix and prefix overlap

12 years agoMerge branch 'yd/doc-merge-annotated-tag' into maint-1.8.1
Junio C Hamano [Wed, 3 Apr 2013 15:36:52 +0000 (08:36 -0700)]
Merge branch 'yd/doc-merge-annotated-tag' into maint-1.8.1

* yd/doc-merge-annotated-tag:
  Documentation: merging a tag is a special case

12 years agoMerge branch 'ap/maint-update-index-h-is-for-help' into maint-1.8.1
Junio C Hamano [Wed, 3 Apr 2013 15:36:10 +0000 (08:36 -0700)]
Merge branch 'ap/maint-update-index-h-is-for-help' into maint-1.8.1

* ap/maint-update-index-h-is-for-help:
  update-index: allow "-h" to also display options

12 years agoMerge branch 'jc/perl-cat-blob' into maint-1.8.1
Junio C Hamano [Wed, 3 Apr 2013 15:35:45 +0000 (08:35 -0700)]
Merge branch 'jc/perl-cat-blob' into maint-1.8.1

* jc/perl-cat-blob:
  Git.pm: fix cat_blob crashes on large files

12 years agoMerge branch 'ob/imap-send-ssl-verify' into maint-1.8.1
Junio C Hamano [Wed, 3 Apr 2013 15:35:33 +0000 (08:35 -0700)]
Merge branch 'ob/imap-send-ssl-verify' into maint-1.8.1

* ob/imap-send-ssl-verify:
  imap-send: support Server Name Indication (RFC4366)

12 years agoMerge branch 'nd/index-pack-l10n-buf-overflow' into maint-1.8.1
Junio C Hamano [Wed, 3 Apr 2013 15:35:06 +0000 (08:35 -0700)]
Merge branch 'nd/index-pack-l10n-buf-overflow' into maint-1.8.1

* nd/index-pack-l10n-buf-overflow:
  index-pack: fix buffer overflow caused by translations

12 years agogit-tag(1): we tag HEAD by default
Thomas Rast [Wed, 3 Apr 2013 14:27:14 +0000 (16:27 +0200)]
git-tag(1): we tag HEAD by default

The <commit>|<object> argument is actually not explained anywhere
(except implicitly in the description of an unannotated tag).  Write a
little explanation, in particular to cover the default.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agobranch: give advice when tracking start-point is missing
Jeff King [Tue, 2 Apr 2013 19:05:12 +0000 (15:05 -0400)]
branch: give advice when tracking start-point is missing

If the user requests to --set-upstream-to a branch that does
not exist, then either:

  1. It was a typo.

  2. They thought the branch should exist.

In case (1), there is not much we can do beyond showing the
name we tried to use. For case (2), though, we can help to
guide them through common workflows.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agobranch: mention start_name in set-upstream error messages
Jeff King [Tue, 2 Apr 2013 19:04:51 +0000 (15:04 -0400)]
branch: mention start_name in set-upstream error messages

If we refuse a branch operation because the tracking
start_name the user gave us is bogus, we just print
something like:

 fatal: Cannot setup tracking information; start point is not a branch

If we mention the actual name we tried to use, that may help
the user figure out why it didn't work (e.g., if they gave
us the arguments in the wrong order).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agobranch: improve error message for missing --set-upstream-to ref
Jeff King [Tue, 2 Apr 2013 19:04:27 +0000 (15:04 -0400)]
branch: improve error message for missing --set-upstream-to ref

If we are trying to set the upstream config for a branch,
the create_branch function will check both that the name
resolves as a ref, and that it is either a local or
remote-tracking branch.

However, before we do so we run get_sha1 on it to find out
whether it resolves at all (since the create_branch function
is also used to create actual branches, it wants to know
where to start the new branch). This means that if you feed
a ref that does not exist to "branch --set-upstream-to",
rather than getting a helpful message about tracking, you
only get "not a valid object name".

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agobranch: factor out "upstream is not a branch" error messages
Jeff King [Tue, 2 Apr 2013 19:03:55 +0000 (15:03 -0400)]
branch: factor out "upstream is not a branch" error messages

This message is duplicated, and is quite long. Let's factor
it out, which avoids the repetition and the long lines. It
will also make future patches easier as we tweak the
message.

While we're at it, let's also mark it for translation.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agot3200: test --set-upstream-to with bogus refs
Jeff King [Tue, 2 Apr 2013 19:02:53 +0000 (15:02 -0400)]
t3200: test --set-upstream-to with bogus refs

These tests pass with the current code, but let's make sure
we don't accidentally break the behavior in the future.

Note that our tests expect failure when we try to set the
upstream to or from a missing branch. Technically we are
just munging config here, so we do not need the refs to
exist. But seeing that they do exist is a good check that
the user has not made a typo.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoUpdate draft release notes to 1.8.3
Junio C Hamano [Tue, 2 Apr 2013 22:14:26 +0000 (15:14 -0700)]
Update draft release notes to 1.8.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'jk/config-with-empty-section'
Junio C Hamano [Tue, 2 Apr 2013 22:10:53 +0000 (15:10 -0700)]
Merge branch 'jk/config-with-empty-section'

Document that "git config --unset" does not remove an empty section
head after removing the last variable in a section, and adding a
new variable does not try to reuse a leftover empty section head.

* jk/config-with-empty-section:
  t1300: document some aesthetic failures of the config editor

12 years agoMerge branch 'js/log-gpg'
Junio C Hamano [Tue, 2 Apr 2013 22:10:49 +0000 (15:10 -0700)]
Merge branch 'js/log-gpg'

Teach "show/log" honor gpg.program configuration just like other
parts of the code that use GnuPG.

* js/log-gpg:
  log: read gpg settings for signed commit verification

12 years agoMerge branch 'tr/log-tree-optim'
Junio C Hamano [Tue, 2 Apr 2013 22:10:46 +0000 (15:10 -0700)]
Merge branch 'tr/log-tree-optim'

Optimize "log" that shows the difference between the parent and the
child.

* tr/log-tree-optim:
  Avoid loading commits twice in log with diffs

12 years agoMerge branch 'tb/cygwin-shared-repository'
Junio C Hamano [Tue, 2 Apr 2013 22:09:54 +0000 (15:09 -0700)]
Merge branch 'tb/cygwin-shared-repository'

Cygwin port has a faster-but-lying lstat(2) emulation whose
incorrectness does not matter in practice except for a few
codepaths, and setting permission bits to directories is a codepath
that needs to use a more correct one.

* tb/cygwin-shared-repository:
  Make core.sharedRepository work under cygwin 1.7

12 years agoMerge branch 'sw/safe-create-leading-dir-race'
Junio C Hamano [Tue, 2 Apr 2013 22:09:48 +0000 (15:09 -0700)]
Merge branch 'sw/safe-create-leading-dir-race'

* sw/safe-create-leading-dir-race:
  safe_create_leading_directories: fix race that could give a false negative

12 years agoMerge branch 'bk/document-commit-tree-S'
Junio C Hamano [Tue, 2 Apr 2013 22:09:43 +0000 (15:09 -0700)]
Merge branch 'bk/document-commit-tree-S'

* bk/document-commit-tree-S:
  commit-tree: document -S option consistently

12 years agoMerge branch 'jk/no-more-self-assignment'
Junio C Hamano [Tue, 2 Apr 2013 22:09:35 +0000 (15:09 -0700)]
Merge branch 'jk/no-more-self-assignment'

This started as a topic to reduce "type var = var" self assignment
tricks that were used to squelch "variable used uninitialized perhaps?"
warning from some compilers, but resulted in rewriting logic with
a version that is simpler and easier to understand for humans.

* jk/no-more-self-assignment:
  match-trees: simplify score_trees() using tree_entry()
  submodule: clarify logic in show_submodule_summary

12 years agostatus: show commit sha1 in "You are currently reverting" message
Matthieu Moy [Tue, 2 Apr 2013 14:20:22 +0000 (16:20 +0200)]
status: show commit sha1 in "You are currently reverting" message

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agostatus: show 'revert' state and status hint
Matthieu Moy [Tue, 2 Apr 2013 14:20:21 +0000 (16:20 +0200)]
status: show 'revert' state and status hint

This is the logical equivalent for "git status" of 3ee4452 (bash: teach
__git_ps1 about REVERT_HEAD).

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agofilter-branch: return to original dir after filtering
Jeff King [Tue, 2 Apr 2013 14:22:19 +0000 (10:22 -0400)]
filter-branch: return to original dir after filtering

The first thing filter-branch does is to create a temporary
directory, either ".git-rewrite" in the current directory
(which may be the working tree or the repository if bare),
or in a directory specified by "-d". We then chdir to
$tempdir/t as our temporary working directory in which to run
tree filters.

After finishing the filter, we then attempt to go back to
the original directory with "cd ../..". This works in the
.git-rewrite case, but if "-d" is used, we end up in a
random directory. The only thing we do after this chdir is
to run git-read-tree, but that means that:

  1. The working directory is not updated to reflect the
     filtered history.

  2. We dump random files into "$tempdir/.." (e.g., if you
     use "-d /tmp/foo", we dump junk into /tmp).

Fix it by recording the full path to the original directory
and returning there explicitly.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoremote.c: introduce branch.<name>.pushremote
Ramkumar Ramachandra [Tue, 2 Apr 2013 07:40:34 +0000 (13:10 +0530)]
remote.c: introduce branch.<name>.pushremote

This new configuration variable overrides `remote.pushdefault` and
`branch.<name>.remote` for pushes.  When you pull from one
place (e.g. your upstream) and push to another place (e.g. your own
publishing repository), you would want to set `remote.pushdefault` to
specify the remote to push to for all branches, and use this option to
override it for a specific branch.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoremote.c: introduce remote.pushdefault
Ramkumar Ramachandra [Tue, 2 Apr 2013 07:40:33 +0000 (13:10 +0530)]
remote.c: introduce remote.pushdefault

This new configuration variable defines the default remote to push to,
and overrides `branch.<name>.remote` for all branches.  It is useful
in the typical triangular-workflow setup, where the remote you're
fetching from is different from the remote you're pushing to.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoremote.c: introduce a way to have different remotes for fetch/push
Ramkumar Ramachandra [Tue, 2 Apr 2013 07:40:32 +0000 (13:10 +0530)]
remote.c: introduce a way to have different remotes for fetch/push

Currently, do_push() in push.c calls remote_get(), which gets the
configured remote for fetching and pushing.  Replace this call with a
call to pushremote_get() instead, a new function that will return the
remote configured specifically for pushing.  This function tries to
work with the string pushremote_name, before falling back to the
codepath of remote_get().  This patch has no visible impact, but
serves to enable future patches to introduce configuration variables
to set pushremote_name.  For example, you can now do the following in
handle_config():

    if (!strcmp(key, "remote.pushdefault"))
       git_config_string(&pushremote_name, key, value);

Then, pushes will automatically go to the remote specified by
remote.pushdefault.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agot5516 (fetch-push): drop implicit arguments from helper functions
Jeff King [Tue, 2 Apr 2013 07:40:31 +0000 (13:10 +0530)]
t5516 (fetch-push): drop implicit arguments from helper functions

Many of the tests in t5516 look like:

  mk_empty &&
  git push testrepo ... &&
  check_push_result $commit heads/master

It's reasonably easy to see what is being tested, with the
exception that "testrepo" is a magic global name (it is
implicitly used in the helpers, but we have to name it
explicitly when calling git directly). Let's make it
explicit when call the helpers, too. This is slightly more
typing, but makes the test snippets read more naturally.

It also makes it easy for future tests to use an alternate
or multiple repositories, without a proliferation of helper
functions.

[rr: fixed sloppy quoting]

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agot5516 (fetch-push): update test description
Ramkumar Ramachandra [Tue, 2 Apr 2013 07:40:30 +0000 (13:10 +0530)]
t5516 (fetch-push): update test description

The file was originally created in bcdb34f (Test wildcard push/fetch,
2007-06-08), and only contained tests that exercised wildcard
functionality at the time.  In subsequent commits, many other tests
unrelated to wildcards were added but the test description was never
updated.  Fix this.

Helped-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoremote.c: simplify a bit of code using git_config_string()
Ramkumar Ramachandra [Tue, 2 Apr 2013 07:40:29 +0000 (13:10 +0530)]
remote.c: simplify a bit of code using git_config_string()

A small segment where handle_config() parses the branch.remote
configuration variable can be simplified using git_config_string().

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agorev-parse: clarify documentation for the --verify option
Michael Haggerty [Sat, 30 Mar 2013 06:44:25 +0000 (07:44 +0100)]
rev-parse: clarify documentation for the --verify option

The old version could be read to mean that the argument has to refer
to a valid object, but that is incorrect:

* the object is not necessarily read (e.g., to check for corruption)

* if the argument is a 40-digit string of hex digits, then it is
  accepted whether or not is is the name of an existing object.

So reword the explanation to be less ambiguous.

Also fix the examples involving --verify: to be sure that the argument
refers to a commit (rather than some other kind of object), the
argument has to be suffixed with "^{commit}".  This trick is not
possible in the example involving --default, so don't imply that it is
exactly the same as the previous example.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agosubmodule deinit: clarify work tree removal message
Jens Lehmann [Mon, 1 Apr 2013 19:02:00 +0000 (21:02 +0200)]
submodule deinit: clarify work tree removal message

The output of "git submodule deinit sub" of a populated submodule prints

  rm 'sub'

as the first line unless used with the -f option.

The "rm 'sub'" line is exactly the same output the user gets when using
"git rm sub" (because that command is used with the --dry-run option under
the hood to determine if the submodule is clean), which can easily lead to
the false impression that the submodule would be permanently removed. Also
users might be confused that the "rm 'submodule'" line won't show up when
the -f option is used, as the test is skipped in this case.

Silence the "rm 'submodule'" output by using the --quiet option for "git
rm" and always print

  Cleared directory 'submodule'

instead as the first output line. This line is printed as long as the
directory exists, no matter if empty or not.

Also extend the tests in t7400 to make sure the "Cleared directory" line
is printed correctly.

Reported-by: Phil Hord <phil.hord@gmail.com>
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agot6200: test message for merging of an annotated tag
Junio C Hamano [Mon, 1 Apr 2013 19:51:50 +0000 (12:51 -0700)]
t6200: test message for merging of an annotated tag

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agot6200: use test_config/test_unconfig
Junio C Hamano [Mon, 1 Apr 2013 19:33:52 +0000 (12:33 -0700)]
t6200: use test_config/test_unconfig

The tests were already well protected from previous ones by running
"git config --unset" on variables early they do not want to see, but
it is easier to make sure they start from a clean state by using
more modern test_config/test_unconfig helper functions.

It turns out that the last test depended on the merge.summary
configuration previous one leaves behind.  Set it explicitly in it.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoUpdate draft release notes to 1.8.3
Junio C Hamano [Mon, 1 Apr 2013 16:13:31 +0000 (09:13 -0700)]
Update draft release notes to 1.8.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'maint'
Junio C Hamano [Mon, 1 Apr 2013 16:23:30 +0000 (09:23 -0700)]
Merge branch 'maint'

* maint:
  Update draft release notes to 1.8.2.1

12 years agoUpdate draft release notes to 1.8.2.1
Junio C Hamano [Mon, 1 Apr 2013 16:23:05 +0000 (09:23 -0700)]
Update draft release notes to 1.8.2.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'ap/maint-diff-rename-avoid-overlap' into maint
Junio C Hamano [Mon, 1 Apr 2013 16:19:46 +0000 (09:19 -0700)]
Merge branch 'ap/maint-diff-rename-avoid-overlap' into maint

* ap/maint-diff-rename-avoid-overlap:
  tests: make sure rename pretty print works
  diff: prevent pprint_rename from underrunning input
  diff: Fix rename pretty-print when suffix and prefix overlap

12 years agoMerge branch 'rr/tests-dedup-test-config' into maint
Junio C Hamano [Mon, 1 Apr 2013 16:19:41 +0000 (09:19 -0700)]
Merge branch 'rr/tests-dedup-test-config' into maint

* rr/tests-dedup-test-config:
  t4018,7810,7811: remove test_config() redefinition

12 years agoMerge branch 'yd/doc-is-in-asciidoc' into maint
Junio C Hamano [Mon, 1 Apr 2013 16:19:40 +0000 (09:19 -0700)]
Merge branch 'yd/doc-is-in-asciidoc' into maint

* yd/doc-is-in-asciidoc:
  CodingGuidelines: our documents are in AsciiDoc

12 years agoMerge branch 'yd/doc-merge-annotated-tag' into maint
Junio C Hamano [Mon, 1 Apr 2013 16:19:37 +0000 (09:19 -0700)]
Merge branch 'yd/doc-merge-annotated-tag' into maint

* yd/doc-merge-annotated-tag:
  Documentation: merging a tag is a special case

12 years agoMerge branch 'tb/document-status-u-tradeoff' into maint
Junio C Hamano [Mon, 1 Apr 2013 16:19:30 +0000 (09:19 -0700)]
Merge branch 'tb/document-status-u-tradeoff' into maint

* tb/document-status-u-tradeoff:
  status: advise to consider use of -u when read_directory takes too long
  git status: document trade-offs in choosing parameters to the -u option

12 years agoMerge branch 'da/downcase-u-in-usage' into maint
Junio C Hamano [Mon, 1 Apr 2013 16:19:04 +0000 (09:19 -0700)]
Merge branch 'da/downcase-u-in-usage' into maint

* da/downcase-u-in-usage:
  contrib/mw-to-git/t/install-wiki.sh: use a lowercase "usage:" string
  contrib/examples/git-remote.perl: use a lowercase "usage:" string
  tests: use a lowercase "usage:" string
  git-svn: use a lowercase "usage:" string
  Documentation/user-manual.txt: use a lowercase "usage:" string
  templates/hooks--update.sample: use a lowercase "usage:" string
  contrib/hooks/setgitperms.perl: use a lowercase "usage:" string
  contrib/examples: use a lowercase "usage:" string
  contrib/fast-import/import-zips.py: use spaces instead of tabs
  contrib/fast-import/import-zips.py: fix broken error message
  contrib/fast-import: use a lowercase "usage:" string
  contrib/credential: use a lowercase "usage:" string
  git-cvsimport: use a lowercase "usage:" string
  git-cvsimport: use a lowercase "usage:" string
  git-cvsexportcommit: use a lowercase "usage:" string
  git-archimport: use a lowercase "usage:" string
  git-merge-one-file: use a lowercase "usage:" string
  git-relink: use a lowercase "usage:" string
  git-svn: use a lowercase "usage:" string
  git-sh-setup: use a lowercase "usage:" string

12 years agoMerge branch 'nd/index-pack-threaded-fixes'
Junio C Hamano [Mon, 1 Apr 2013 16:06:23 +0000 (09:06 -0700)]
Merge branch 'nd/index-pack-threaded-fixes'

"index-pack --verify-stat" used a few counters outside protection
of mutex, possibly showing incorrect numbers.

* nd/index-pack-threaded-fixes:
  index-pack: guard nr_resolved_deltas reads by lock
  index-pack: protect deepest_delta in multithread code