Commit Graph

28751 Commits

Author SHA1 Message Date
Junio C Hamano
9dbebcae7c Merge branch 'rj/mingw-isguid' into next
By Ramsay Jones
* rj/mingw-isguid:
  compat/mingw.h: Set S_ISUID to prevent a fast-import test failure
2012-04-20 16:19:40 -07:00
Junio C Hamano
df2c57e582 Merge branch 'mb/fetch-call-a-non-branch-a-ref' into next
Replacement to use the origin side to paint the message broke badly.

By Marc Branchaud
* mb/fetch-call-a-non-branch-a-ref:
  fetch: describe new refs based on where it came from
  fetch: Give remote_ref to update_local_ref() as well

Conflicts:
	builtin/fetch.c
2012-04-20 16:19:39 -07:00
Junio C Hamano
ee7eec42a9 Merge branch 'bw/test-fix-grep-gnuism' into next
Fix two places that were the only place in the test suite that gave "a\+"
to platform grep and expected it to mean one or more "a", which is a
blatant GNUism.

Will merge to 'next'.

* bw/test-fix-grep-gnuism:
  t9400: fix gnuism in grep
2012-04-20 16:19:38 -07:00
Junio C Hamano
638ed9fe88 Merge branch 'jm/maint-strncpy-diff-no-index' into next
Will merge to 'next'.

By Jim Meyering
* jm/maint-strncpy-diff-no-index:
  diff: avoid stack-buffer-read-overrun for very long name
2012-04-20 16:19:38 -07:00
Junio C Hamano
1ed9682b6d Merge branch 'zj/upstream-error-message' into next
Will merge to 'next'.

By Zbigniew Jędrzejewski-Szmek
* zj/upstream-error-message:
  i18n: mark @{upstream} error messages for translation
  Be more specific if upstream branch is not tracked
  Provide better message for barnhc_wiht_tpyo@{u}
  Provide branch name in error message when using @{u}
  t1507: add tests to document @{upstream} behaviour
2012-04-20 16:19:37 -07:00
Junio C Hamano
b9a7250495 Merge branch 'jn/fast-import-doc' into next
Will merge to 'next'.

By Jonathan Nieder
* jn/fast-import-doc:
  fast-import doc: cat-blob and ls responses need to be consumed quickly
2012-04-20 16:19:36 -07:00
Junio C Hamano
b5548a3f96 Merge branch 'jn/more-i18ncmp' into next
Will merge to 'next'.

By Jonathan Nieder
* jn/more-i18ncmp:
  test: am of empty patch should not succeed
  test: use test_i18ncmp for "Patch format detection failed" message
  test: do not rely on US English tracking-info messages
2012-04-20 16:19:35 -07:00
Junio C Hamano
2769d39816 Merge branch 'jl/maint-submodule-recurse-fetch' into next
Will merge to 'next'.

By Jens Lehmann
* jl/maint-submodule-recurse-fetch:
  submodules: recursive fetch also checks new tags for submodule commits
2012-04-20 16:19:34 -07:00
Junio C Hamano
54179a2098 Merge branch 'mk/gitweb-diff-hl' into next
Will merge to 'next'.

By Michał Kiedrowicz (7) and Jakub Narębski (1)
* mk/gitweb-diff-hl:
  gitweb: Refinement highlightning in combined diffs
  gitweb: Highlight interesting parts of diff
  gitweb: Push formatting diff lines to print_diff_chunk()
  gitweb: Use print_diff_chunk() for both side-by-side and inline diffs
  gitweb: Extract print_sidebyside_diff_lines()
  gitweb: Pass esc_html_hl_regions() options to esc_html()
  gitweb: esc_html_hl_regions(): Don't create empty <span> elements
  gitweb: Use descriptive names in esc_html_hl_regions()
2012-04-20 16:19:33 -07:00
Junio C Hamano
22132848fd Merge branch 'jc/maint-blame-minimal' into next
"git blame" started missing quite a few changes from the origin since we
stopped using the diff minimalization by default in v1.7.2 era.

Will merge to 'next'.

* jc/maint-blame-minimal:
  blame: accept --need-minimal
2012-04-20 16:19:32 -07:00
Junio C Hamano
e2126d79eb Merge branch 'it/fetch-pack-many-refs' into next
Will merge to 'next'.

By Ivan Todoroski
* it/fetch-pack-many-refs:
  remote-curl: main test case for the OS command line overflow
  fetch-pack: test cases for the new --stdin option
  remote-curl: send the refs to fetch-pack on stdin
  fetch-pack: new --stdin option to read refs from stdin

Conflicts:
	t/t5500-fetch-pack.sh
2012-04-20 16:19:31 -07:00
Junio C Hamano
c299a635bc Merge branch 'pw/fast-import-dataref-parsing' into next
Will merge to 'next'.

By Pete Wyckoff
* pw/fast-import-dataref-parsing:
  fast-import: tighten parsing of datarefs
2012-04-20 16:19:30 -07:00
Junio C Hamano
94e9384285 Merge branch 'mh/ref-api' into next
Allows walking only a sub-hierarchy in refs/*.

Will merge to 'next'.

By Michael Haggerty
* mh/ref-api:
  do_for_each_ref(): only iterate over the subtree that was requested
  refs: store references hierarchically
  sort_ref_dir(): simplify logic
  refs.c: rename ref_array -> ref_dir
  struct ref_entry: nest the value part in a union
  check_refname_component(): return 0 for zero-length components
  free_ref_entry(): new function
  names_conflict(): simplify implementation
  repack_without_ref(): reimplement using do_for_each_ref_in_array()
  do_for_each_ref_in_arrays(): new function
  do_for_each_ref_in_array(): new function
  refs: manage current_ref within do_one_ref()
  refs.c: reorder definitions more logically
2012-04-20 16:19:30 -07:00
Junio C Hamano
fe99e3d67c Merge branch 'hv/submodule-recurse-push' into next
Will merge to 'next'.

By Heiko Voigt
* hv/submodule-recurse-push:
  push: teach --recurse-submodules the on-demand option
  Refactor submodule push check to use string list instead of integer
  Teach revision walking machinery to walk multiple times sequencially

Conflicts:
	transport.h
2012-04-20 16:19:29 -07:00
Junio C Hamano
b6cf0ffdb9 Merge branch 'lp/maint-diff-three-dash-with-graph' into next
Will merge to 'next'.

By Lucian Poston
* lp/maint-diff-three-dash-with-graph:
  t4202: add test for "log --graph --stat -p" separator lines
  log --graph: fix break in graph lines
  log --graph --stat: three-dash separator should come after graph lines
2012-04-20 16:19:28 -07:00
Junio C Hamano
967595d4b0 Merge branch 'master' into next
* master:
  RelNotes: the third batch
2012-04-20 16:04:03 -07:00
Junio C Hamano
d1ca788fcd RelNotes: the third batch
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-20 15:58:40 -07:00
Junio C Hamano
8cc5223495 Merge branch 'js/spawn-via-shell-path-fix'
Mops up an unfortunate fallout from bw/spawn-via-shell-path topic.

By Johannes Sixt
* js/spawn-via-shell-path-fix:
  Do not use SHELL_PATH from build system in prepare_shell_cmd on Windows
2012-04-20 15:51:18 -07:00
Junio C Hamano
c5da24a73a Merge branch 'ct/advise-push-default'
Break down the cases in which "git push" fails due to non-ff into
three categories, and give separate advise messages for each case.

By Christopher Tiwald (2) and Jeff King (1)
* ct/advise-push-default:
  Fix httpd tests that broke when non-ff push advice changed
  clean up struct ref's nonfastforward field
  push: Provide situational hints for non-fast-forward errors
2012-04-20 15:50:37 -07:00
Junio C Hamano
af78c31720 Merge branch 'bw/submodule-sed-solaris'
By Ben Walton
* bw/submodule-sed-solaris:
  Avoid bug in Solaris xpg4/sed as used in submodule
2012-04-20 15:50:14 -07:00
Junio C Hamano
bd6f71d1fc Merge branch 'jk/run-command-eacces'
When PATH contains an unreadable directory, alias expansion code did not
kick in, and failed with an error that said "git-subcmd" was not found.

By Jeff King (1) and Ramsay Jones (1)
* jk/run-command-eacces:
  run-command: treat inaccessible directories as ENOENT
  compat/mingw.[ch]: Change return type of exec functions to int
2012-04-20 15:50:03 -07:00
Junio C Hamano
27da1cf65b Merge branch 'jc/push-upstream-sanity'
Fix broken 'push to upstream' implementation.  "git push $there" without
refspec, when the current branch is set to push to a remote different from
$there, used to push to $there using the upstream information to a remote
unreleated to $there.

* jc/push-upstream-sanity:
  push: error out when the "upstream" semantics does not make sense
2012-04-20 15:49:51 -07:00
Junio C Hamano
bb52e7f600 Merge branch 'jc/am-report-3way'
When "git am -3" needs to fall back to an application to a synthesized
preimage followed by a 3-way merge, the paths that needed such treatment
are now reported to the end user, so that the result in them can be
eyeballed with extra care.

* jc/am-report-3way:
  am -3: list the paths that needed 3-way fallback
2012-04-20 15:49:37 -07:00
Junio C Hamano
334dde8532 Merge branch 'jb/am-include'
"git am" learned the "--include" option, which is an opposite of existing
the "--exclude" option.

By Johannes Berg
* jb/am-include:
  am: support --include option
2012-04-20 15:49:16 -07:00
Junio C Hamano
503c15ac09 Merge branch 'jc/fmt-merge-msg-people'
The "fmt-merge-msg" command learns to list the primary contributors
involved in the side topic you are merging.

* jc/fmt-merge-msg-people:
  fmt-merge-msg: show those involved in a merged series
2012-04-20 15:48:33 -07:00
Junio C Hamano
5e4b029f4a Merge branch 'jc/index-v4' into next
Trivially shrinks the on-disk size of the index file to save both I/O and
checksum overhead.  The "v4" format represented here may not be what we
eventually want to have, but the preparatory refactoring steps and the way
how backward compatibility is retained should give plenty to learn to GSoC
student-hopefuls.

Will merge to 'next', if nobody objects.

* jc/index-v4:
  update-index: upgrade/downgrade on-disk index version
  read-cache.c: write prefix-compressed names in the index
  read-cache.c: read prefix-compressed names in index on-disk version v4
  read-cache.c: move code to copy incore to ondisk cache to a helper function
  read-cache.c: move code to copy ondisk to incore cache to a helper function
  read-cache.c: report the header version we do not understand
  read-cache.c: make create_from_disk() report number of bytes it consumed
  read-cache.c: allow unaligned mapping of the index file
  cache.h: hide on-disk index details
  varint: make it available outside the context of pack
2012-04-19 22:35:20 -07:00
Junio C Hamano
3e04ef6e4e Merge branch 'js/spawn-via-shell-path-fix' into next
Mops up an unfortunate fallout from bw/spawn-via-shell-path topic.
Will fast-track to 'master'.

By Johannes Sixt
* js/spawn-via-shell-path-fix:
  Do not use SHELL_PATH from build system in prepare_shell_cmd on Windows
2012-04-19 22:27:50 -07:00
Junio C Hamano
27187817e4 t9400: fix gnuism in grep
Using "\+" in "grep" and expecting that it means one or more
is a GNUism.  Spell it in a dumb and portable way.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-19 13:33:40 -07:00
Ramsay Jones
90110d7645 compat/mingw.h: Set S_ISUID to prevent a fast-import test failure
The current t9300-fast-import.sh test number 62 ("L: nested tree
copy does not corrupt deltas") was introduced in commit 9a0edb79
("fast-import: add a test for tree delta base corruption",
15-08-2011). A fix for the demonstrated problem was introduced
by commit 8fb3ad76 ("fast-import: prevent producing bad delta",
15-08-2011). However, this fix didn't work on MinGW and so this
test has always failed on MinGW.

Part of the solution in commit 8fb3ad76 was to add an NO_DELTA
preprocessor constant which was defined as follows:

  +/*
  + * We abuse the setuid bit on directories to mean "do not delta".
  + */
  +#define NO_DELTA S_ISUID
  +

Unfortunately, the S_ISUID constant on MinGW is defined as zero.

In order to fix the problem, we simply alter the definition of
S_ISUID in the mingw header file to a more appropriate value.
Also, we take the opportunity to similarly define S_ISGID and
S_ISVTX.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-18 13:00:57 -07:00
Junio C Hamano
21208e94ab Merge branch 'rs/commit-list-sort-in-batch' into next
* rs/commit-list-sort-in-batch:
  mergesort: rename it to llist_mergesort()
2012-04-17 16:32:41 -07:00
Junio C Hamano
7365c95d2d mergesort: rename it to llist_mergesort()
Even though the function is generic enough, <anything>sort() inherits
connotations from the standard function qsort() that sorts an array.
Rename it to llist_mergesort() and describe the external interface in
its header file.

This incidentally avoids name clashes with mergesort() some platforms
declare in, and contaminate user namespace with, their <stdlib.h>.

Reported-by: Brian Gernhardt
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-17 11:07:01 -07:00
Johannes Sixt
776297548e Do not use SHELL_PATH from build system in prepare_shell_cmd on Windows
The recent change to use SHELL_PATH instead of "sh" to spawn shell commands
is not suited for Windows:

- The default setting, "/bin/sh", does not work when git has to run the
  shell because it is a POSIX style path, but not a proper Windows style
  path.

- If it worked, it would hard-code a position in the files system where
  the shell is expected, making git (more precisely, the POSIX toolset that
  is needed alongside git) non-relocatable. But we cannot sacrifice
  relocatability on Windows.

- Apart from that, even though the Makefile leaves SHELL_PATH set to
  "/bin/sh" for the Windows builds, the build system passes a mangled path
  to the compiler, and something like "D:/Src/msysgit/bin/sh" is used,
  which is doubly bad because it points to where /bin/sh resolves to on
  the system where git was built.

- Finally, the system's CreateProcess() function that is used under
  mingw.c's hood does not work with forward slashes and cannot find the
  shell.

Undo the earlier change on Windows.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-17 08:51:54 -07:00
Marc Branchaud
0997adaa74 fetch: describe new refs based on where it came from
update_local_ref() used to say "[new branch]" when we stored a new ref
outside refs/tags/ hierarchy, but the message is more about what we
fetched, so use the refname at the origin to make that decision.

Also, only call a new ref a "branch" if it's under refs/heads/.

Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-17 08:26:00 -07:00
Marc Branchaud
6da618d5c2 fetch: Give remote_ref to update_local_ref() as well
This way, the function can look at the remote side to adjust the
informational message it gives.

Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-17 08:25:44 -07:00
Junio C Hamano
bb8832d216 Merge branch 'master' into next
* master:
  RelNotes: the second batch of topics graduated to 'master'
2012-04-16 12:55:36 -07:00
Junio C Hamano
0bb2ee1b7d RelNotes: the second batch of topics graduated to 'master'
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-16 12:55:11 -07:00
Junio C Hamano
3c524002d6 Merge branch 'jk/add-p-skip-conflicts'
Excludes conflicted paths from "add -p" processing, as it is not prepared
to handle them.

By Jeff King
* jk/add-p-skip-conflicts:
  add--interactive: ignore unmerged entries in patch mode
2012-04-16 12:43:36 -07:00
Junio C Hamano
091df17f27 Merge branch 'jc/commit-unedited-template'
When "git commit --template F" errors out because the user did not touch
the message, it claimed that it aborts due to "empty message", which was
utterly wrong.

By Junio C Hamano (4) and Adam Monsen (1)
* jc/commit-unedited-template:
  Documentation/git-commit: rephrase the "initial-ness" of templates
  git-commit.txt: clarify -t requires editing message
  commit: rephrase the error when user did not touch templated log message
  commit: do not trigger bogus "has templated message edited" check
  t7501: test the right kind of breakage
2012-04-16 12:43:07 -07:00
Junio C Hamano
fa0ba729dc Merge branch 'bw/spawn-via-shell-path'
"sh" on the user's PATH may be utterly broken on some systems;
consistently use SHELL_PATH even from inside run-command API.

By Ben Walton
* bw/spawn-via-shell-path:
  Use SHELL_PATH from build system in run_command.c:prepare_shell_cmd
2012-04-16 12:42:55 -07:00
Junio C Hamano
0f3ddd4a3a Merge branch 'wk/gitweb-snapshot-use-if-modified-since'
Makes 'snapshot' request to "gitweb" honor If-Modified-Since: header,
based on the commit date.

By W. Trevor King
* wk/gitweb-snapshot-use-if-modified-since:
  gitweb: add If-Modified-Since handling to git_snapshot().
  gitweb: refactor If-Modified-Since handling
  gitweb: add `status` headers to git_feed() responses.
2012-04-16 12:42:48 -07:00
Junio C Hamano
11047e00ec Merge branch 'jk/http-backend-keep-committer-ident-env'
The smart-http backend used to always override GIT_COMMITTER_* variables
with REMOTE_USER and REMOTE_ADDR.

By Jeff King
* jk/http-backend-keep-committer-ident-env:
  http-backend: respect existing GIT_COMMITTER_* variables
2012-04-16 12:42:40 -07:00
Junio C Hamano
e5ccf5e409 Merge branch 'sl/autoconf'
Updates our configure.ac to follow a better "autoconf" style.

By Stefano Lattarini
* sl/autoconf:
  configure: be more idiomatic
  configure: avoid some code repetitions thanks to m4_{push,pop}def
  configure: move definitions of private m4 macros before AC_INIT invocation
2012-04-16 12:42:29 -07:00
Junio C Hamano
b3ba46945d Merge branch 'jk/branch-quiet'
Even with "-q"uiet option, "checkout" used to report setting up tracking.
Also "branch" learns "-q"uiet option to squelch informational message.

By Jeff King
* jk/branch-quiet:
  teach "git branch" a --quiet option
  checkout: suppress tracking message with "-q"
2012-04-16 12:42:22 -07:00
Junio C Hamano
f84e8b6069 Merge branch 'rs/combine-diff-zero-context-at-the-beginning'
Fixes an age old corner case bug in combine diff (only triggered with -U0
and the hunk at the beginning of the file needs to be shown).

By René Scharfe
* rs/combine-diff-zero-context-at-the-beginning:
  combine-diff: fix loop index underflow
2012-04-16 12:41:59 -07:00
Junio C Hamano
c0599f6993 Merge branch 'jk/diff-no-rename-empty'
Forbids rename detection logic from matching two empty files as renames
during merge-recursive to prevent mismerges.

By Jeff King
* jk/diff-no-rename-empty:
  merge-recursive: don't detect renames of empty files
  teach diffcore-rename to optionally ignore empty content
  make is_empty_blob_sha1 available everywhere
  drop casts from users EMPTY_TREE_SHA1_BIN
2012-04-16 12:41:49 -07:00
Junio C Hamano
a2caeb2e26 Merge branch 'jc/maint-clean-nested-worktree-in-subdir'
"git clean -d -f" (not "-d -f -f") is supposed to protect nested working
trees of independent git repositories that exist in the current project
working tree from getting removed, but the protection applied only to such
working trees that are at the top-level of the current project by mistake.

* jc/maint-clean-nested-worktree-in-subdir:
  clean: preserve nested git worktree in subdirectories
2012-04-16 12:40:22 -07:00
Junio C Hamano
27ed4350b7 Merge branch 'rs/unpack-trees-leakfix'
By René Scharfe
* rs/unpack-trees-leakfix:
  unpack-trees: plug minor memory leak
  unpack-trees: don't perform any index operation if we're not merging
2012-04-16 12:39:58 -07:00
Junio C Hamano
0e9b0ac712 Merge branch 'nl/rebase-i-cheat-sheet'
* nl/rebase-i-cheat-sheet:
  rebase -i: remind that the lines are top-to-bottom
2012-04-16 12:39:41 -07:00
Jim Meyering
48e510b6a2 diff: avoid stack-buffer-read-overrun for very long name
Due to the use of strncpy without explicit NUL termination,
we could end up passing names n1 or n2 that are not NUL-terminated
to queue_diff, which requires NUL-terminated strings.
Ensure that each is NUL terminated.

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-16 10:10:25 -07:00
Junio C Hamano
8cccf57d9d Merge branch 'jh/apply-free-patch' into next
Valgrind reports quite a lot of discarded memory inside apply.

Will merge to 'next'.

By Junio C Hamano (8) and Jared Hance (1)
* jh/apply-free-patch:
  apply: document buffer ownership rules across functions
  apply: tighten constness of line buffer
  apply: drop unused macro
  apply: free unused fragments for submodule patch
  apply: free patch->result
  apply: release memory for fn_table
  apply: free patch->{def,old,new}_name fields
  apply: rename free_patch() to free_patch_list()
  apply: do not leak patches and fragments
2012-04-15 23:07:01 -07:00