summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-04-24push.default doc: explain simple after upstreamLibravatar Junio C Hamano1-4/+4
As the "simple" mode is described in terms of what "upstream" does, swap the order of these two entries so that the reader sees "upstream" first and then reads "simple" with the knowledge of what "upstream" does. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-24push: document the future default change for push.default (matching -> simple)Libravatar Matthieu Moy1-2/+6
It is too early to start warning loudly about the future default change in favor of 'simple', since many users use different versions of Git, and would be harmed if we advised them to explicitely set 'push.default=simple' when using old versions of Git. Still, we want to document the upcomming change so that: * Users who may be affected by the change get one more chance to know it in advance. * We actually commit to changing the default, and avoid repeating past errors. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-24t5570: use explicit push refspecLibravatar Clemens Buchacher1-16/+14
The default mode for push without arguments will change. Some warnings are about to be enabled for such use, which causes some t5570 tests to fail because they do not expect this output. Fix this by passing an explicit refspec to git push. To that end, change the calling conventions of test_remote_error in order to accomodate extra command arguments. Signed-off-by: Clemens Buchacher <drizzd@aon.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-24push: introduce new push.default mode "simple"Libravatar Matthieu Moy5-5/+98
When calling "git push" without argument, we want to allow Git to do something simple to explain and safe. push.default=matching is unsafe when used to push to shared repositories, and hard to explain to beginners in some contexts. It is debatable whether 'upstream' or 'current' is the safest or the easiest to explain, so introduce a new mode called 'simple' that is the intersection of them: push to the upstream branch, but only if it has the same name remotely. If not, give an error that suggests the right command to push explicitely to 'upstream' or 'current'. A question is whether to allow pushing when no upstream is configured. An argument in favor of allowing the push is that it makes the new mode work in more cases. On the other hand, refusing to push when no upstream is configured encourages the user to set the upstream, which will be beneficial on the next pull. Lacking better argument, we chose to deny the push, because it will be easier to change in the future if someone shows us wrong. Original-patch-by: Jeff King <peff@peff.net> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-24t5528-push-default.sh: add helper functionsLibravatar Matthieu Moy1-7/+27
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-24Undocument deprecated alias 'push.default=tracking'Libravatar Matthieu Moy1-1/+0
It's been deprecated since 53c4031 (Johan Herland, Wed Feb 16 2011, push.default: Rename 'tracking' to 'upstream'), so it's OK to remove it from documentation (even though it's still supported) to make the explanations more readable. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-24Documentation: explain push.default option a bit moreLibravatar Matthieu Moy1-3/+15
The previous documentation was explaining _what_ the options were doing, but were of little help explaining _why_ a user should set his default to either of the options. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-20RelNotes: the third batchLibravatar Junio C Hamano1-1/+27
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-20Merge branch 'js/spawn-via-shell-path-fix'Libravatar Junio C Hamano1-0/+4
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-20Merge branch 'ct/advise-push-default'Libravatar Junio C Hamano10-13/+99
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-20Merge branch 'bw/submodule-sed-solaris'Libravatar Junio C Hamano1-2/+3
By Ben Walton * bw/submodule-sed-solaris: Avoid bug in Solaris xpg4/sed as used in submodule
2012-04-20Merge branch 'jk/run-command-eacces'Libravatar Junio C Hamano6-7/+86
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-20Merge branch 'jc/push-upstream-sanity'Libravatar Junio C Hamano2-8/+72
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-20Merge branch 'jc/am-report-3way'Libravatar Junio C Hamano1-0/+6
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-20Merge branch 'jb/am-include'Libravatar Junio C Hamano2-2/+4
"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-20Merge branch 'jc/fmt-merge-msg-people'Libravatar Junio C Hamano2-7/+134
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-17Do not use SHELL_PATH from build system in prepare_shell_cmd on WindowsLibravatar Johannes Sixt1-0/+4
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-16RelNotes: the second batch of topics graduated to 'master'Libravatar Junio C Hamano1-0/+41
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-16Merge branch 'jk/add-p-skip-conflicts'Libravatar Junio C Hamano2-7/+44
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-16Merge branch 'jc/commit-unedited-template'Libravatar Junio C Hamano3-24/+65
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-16Merge branch 'bw/spawn-via-shell-path'Libravatar Junio C Hamano2-1/+12
"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-16Merge branch 'wk/gitweb-snapshot-use-if-modified-since'Libravatar Junio C Hamano2-27/+98
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-16Merge branch 'jk/http-backend-keep-committer-ident-env'Libravatar Junio C Hamano3-13/+37
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-16Merge branch 'sl/autoconf'Libravatar Junio C Hamano1-98/+99
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-16Merge branch 'jk/branch-quiet'Libravatar Junio C Hamano5-11/+22
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-16Merge branch 'rs/combine-diff-zero-context-at-the-beginning'Libravatar Junio C Hamano1-1/+1
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-16Merge branch 'jk/diff-no-rename-empty'Libravatar Junio C Hamano9-14/+45
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-16Merge branch 'jc/maint-clean-nested-worktree-in-subdir'Libravatar Junio C Hamano2-11/+43
"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-16Merge branch 'rs/unpack-trees-leakfix'Libravatar Junio C Hamano1-10/+17
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-16Merge branch 'nl/rebase-i-cheat-sheet'Libravatar Junio C Hamano1-0/+2
* nl/rebase-i-cheat-sheet: rebase -i: remind that the lines are top-to-bottom
2012-04-15RelNotes: the first batch of topics graduated to 'master'Libravatar Junio C Hamano1-0/+19
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-15Merge branch 'da/difftool-test'Libravatar Junio C Hamano1-0/+11
Makes sure "difftool" options can be given in any order. By David Aguilar * da/difftool-test: t7800: Test difftool passing arguments to diff
2012-04-15Merge branch 'zj/test-cred-helper-nicer-prove'Libravatar Junio C Hamano1-24/+45
Minor improvement to t0303. By Zbigniew Jędrzejewski-Szmek * zj/test-cred-helper-nicer-prove: t0303: resurrect commit message as test documentation t0303: immediately bail out w/o GIT_TEST_CREDENTIAL_HELPER
2012-04-15Merge branch 'jh/notes-merge-in-git-dir-worktree'Libravatar Junio C Hamano4-32/+73
Running "notes merge --commit" failed to perform correctly when run from any directory inside $GIT_DIR/. When "notes merge" stops with conflicts, $GIT_DIR/NOTES_MERGE_WORKTREE is the place a user edits to resolve it. By Johan Herland (3) and Junio C Hamano (1) * jh/notes-merge-in-git-dir-worktree: notes-merge: Don't remove .git/NOTES_MERGE_WORKTREE; it may be the user's cwd notes-merge: use opendir/readdir instead of using read_directory() t3310: illustrate failure to "notes merge --commit" inside $GIT_DIR/ remove_dir_recursively(): Add flag for skipping removal of toplevel dir
2012-04-15Merge branch 'tr/maint-word-diff-regex-sticky'Libravatar Junio C Hamano2-56/+102
The regexp configured with wordregex was incorrectly reused across files. By Thomas Rast (2) and Johannes Sixt (1) * tr/maint-word-diff-regex-sticky: diff: tweak a _copy_ of diff_options with word-diff diff: refactor the word-diff setup from builtin_diff_cmd t4034: diff.*.wordregex should not be "sticky" in --word-diff
2012-04-15Merge branch 'jn/diffstat-tests'Libravatar Junio C Hamano16-259/+354
Some tests checked the "diff --stat" output when they do not have to, which unnecessarily made things harder to verify under GETTEXT_POISON. By Jonathan Nieder * jn/diffstat-tests: diffstat summary line varies by locale: miscellany test: use numstat instead of diffstat in binary-diff test test: use --numstat instead of --stat in "git stash show" tests test: test cherry-pick functionality and output separately test: modernize funny-names test style test: use numstat instead of diffstat in funny-names test test: use test_i18ncmp when checking --stat output
2012-04-15Merge branch 'jc/diff-algo-cleanup'Libravatar Junio C Hamano8-25/+24
Resurrects the preparatory clean-up patches from another topic that was discarded, as this would give a saner foundation to build on diff.algo configuration option series. * jc/diff-algo-cleanup: xdiff: PATIENCE/HISTOGRAM are not independent option bits xdiff: remove XDL_PATCH_* macros
2012-04-15Merge branch 'jc/commit-hook-authorship'Libravatar Junio C Hamano5-47/+141
"git commit --author=$name" did not tell the name that was being recorded in the resulting commit to hooks, even though it does do so when the end user overrode the authorship via the "GIT_AUTHOR_NAME" environment variable. * jc/commit-hook-authorship: commit: pass author/committer info to hooks t7503: does pre-commit-hook learn authorship? ident.c: add split_ident_line() to parse formatted ident line
2012-04-15Merge branch 'nd/stream-more'Libravatar Junio C Hamano11-75/+221
Use API to read blob data in smaller chunks in more places to reduce the memory footprint. By Nguyễn Thái Ngọc Duy (6) and Junio C Hamano (1) * nd/stream-more: update-server-info: respect core.bigfilethreshold fsck: use streaming API for writing lost-found blobs show: use streaming API for showing blobs parse_object: avoid putting whole blob in core cat-file: use streaming API to print blobs Add more large blob test cases streaming: make streaming-write-entry to be more reusable
2012-04-15merge overwrites unstaged changes in renamed fileLibravatar Clemens Buchacher1-0/+9
Signed-off-by: Clemens Buchacher <drizzd@aon.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-12Fix httpd tests that broke when non-ff push advice changedLibravatar Christopher Tiwald2-2/+2
Signed-off-by: Christopher Tiwald <christiwald@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-11Kick off post 1.7.10 cycleLibravatar Junio C Hamano3-2/+31
I tentatively named the release notes "1.7.11" but this may have to be renamed to "1.8" or some other name later. Let's see how well we would do during this cycle. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-11gitweb: Fix unintended "--no-merges" for regular Atom feedLibravatar Sebastian Pipping1-0/+1
The print_feed_meta() subroutine generates links for feeds with and without merges, in RSS and Atom formats. However because %href_params was not properly reset, it generated links with "--no-merges" for all except the very first link. Before: <link rel="alternate" title="[..] - Atom feed" href="/?p=.git;a=atom;opt=--no-merges" type="application/atom+xml" /> <link rel="alternate" title="[..] - Atom feed (no merges)" href="/?p=.git;a=atom;opt=--no-merges" type="application/atom+xml" /> After: <link rel="alternate" title="[..] - Atom feed" href="/?p=.git;a=atom" type="application/atom+xml" /> <link rel="alternate" title="[..] - Atom feed (no merges)" href="/?p=.git;a=atom;opt=--no-merges" type="application/atom+xml" /> Signed-off-by: Sebastian Pipping <sebastian@pipping.org> Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-10unpack-trees: plug minor memory leakLibravatar René Scharfe1-9/+16
The allocations made by unpack_nondirectories() using create_ce_entry() are never freed. In the non-merge case, we duplicate them using add_entry() and later only look at the first allocated element (src[0]), perhaps even only by mistake. Split out the actual addition from add_entry() into the new helper do_add_entry() and call this non-duplicating function instead of add_entry() to avoid the leak. Valgrind reports this for the command "git archive v1.7.9" without the patch: ==13372== LEAK SUMMARY: ==13372== definitely lost: 230,986 bytes in 2,325 blocks ==13372== indirectly lost: 0 bytes in 0 blocks ==13372== possibly lost: 98 bytes in 1 blocks ==13372== still reachable: 2,259,198 bytes in 3,243 blocks ==13372== suppressed: 0 bytes in 0 blocks And with the patch applied: ==13375== LEAK SUMMARY: ==13375== definitely lost: 65 bytes in 1 blocks ==13375== indirectly lost: 0 bytes in 0 blocks ==13375== possibly lost: 0 bytes in 0 blocks ==13375== still reachable: 2,364,417 bytes in 3,245 blocks ==13375== suppressed: 0 bytes in 0 blocks Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-10unpack-trees: don't perform any index operation if we're not mergingLibravatar René Scharfe1-1/+1
src[0] points to the index entry in the merge case and to the first tree to unpack in the non-merge case. We only want to mark the index entry, so check first if we're merging. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-10Merge branch 'maint'Libravatar Junio C Hamano2-4/+4
* maint: test-subprocess: fix segfault without arguments submodule: fix prototype of gitmodules_config
2012-04-10Merge branch 'maint-1.7.9' into maintLibravatar Junio C Hamano0-0/+0
* maint-1.7.9:
2012-04-10Merge branch 'maint-1.7.8' into maint-1.7.9Libravatar Junio C Hamano2-6/+6
* maint-1.7.8: Documentation/gitweb: trivial English fixes fetch/receive: remove over-pessimistic connectivity check
2012-04-10test-subprocess: fix segfault without argumentsLibravatar René Scharfe1-3/+3
Check if we even have a parameter before checking its value. Running this command without any arguments may not make a lot of sense, but reacting with a segmentation fault is unduly harsh. While we're at it, avoid casting argv by declaring it const right away. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-10submodule: fix prototype of gitmodules_configLibravatar René Scharfe1-1/+1
Add void to make it match its definition in submodule.c. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>