sort by:
Revision Author Date Message Commit Date
67f8d5b Merge branch 'pj/remote-set-branches-usage-fix' into maint * pj/remote-set-branches-usage-fix: remote: fix set-branches usage and documentation Conflicts: builtin/remote.c 27 February 2012, 23:33:33 UTC
e22c522 Merge branch 'jn/gitweb-unborn-head' into maint * jn/gitweb-unborn-head: gitweb: Fix "heads" view when there is no current branch 27 February 2012, 23:33:26 UTC
bdf26fc Merge branch 'jn/ancient-meld-support' into maint * jn/ancient-meld-support: mergetools/meld: Use --help output to detect --output support 27 February 2012, 23:33:07 UTC
4eed30a Merge branch 'tr/merge-edit-guidance' into maint * tr/merge-edit-guidance: merge: add instructions to the commit message when editing 27 February 2012, 23:31:50 UTC
860f70f CodingGuidelines: do not use 'which' in shell scripts During the code review of a recent patch, it was noted that shell scripts must not use 'which $cmd' to check the availability of the command $cmd. The output of the command is not machine parseable and its exit code is not reliable across platforms. It is better to use 'type' to accomplish this task. Signed-off-by: Tim Henigan <tim.henigan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 February 2012, 23:10:23 UTC
48f359b CodingGuidelines: Add a note about spaces after redirection During code review of some patches, it was noted that redirection operators should have space before, but no space after them. Signed-off-by: Tim Henigan <tim.henigan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 February 2012, 20:41:13 UTC
64baa41 post-receive-email: match up $LOGBEGIN..$LOGEND pairs correctly Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 February 2012, 19:01:16 UTC
c48be8b post-receive-email: remove unused variable prep_for_email neither is passed a fourth argument nor uses it. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 February 2012, 19:01:15 UTC
62ed072 Document accumulated fixes since 1.7.9.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 February 2012, 01:08:59 UTC
660e20f Merge branch 'jc/add-refresh-unmerged' into maint * jc/add-refresh-unmerged: refresh_index: do not show unmerged path that is outside pathspec 27 February 2012, 01:06:23 UTC
8f2c099 Merge branch 'js/configure-libintl' into maint * js/configure-libintl: configure: don't use -lintl when there is no gettext support 27 February 2012, 01:04:53 UTC
4d06691 Sync with 1.7.8.5 27 February 2012, 00:42:35 UTC
c524ceb Git 1.7.8.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 February 2012, 00:40:20 UTC
fba4f12 grep -P: Fix matching ^ and $ When "git grep" is run with -P/--perl-regexp, it doesn't match ^ and $ at the beginning/end of the line. This is because PCRE normally matches ^ and $ at the beginning/end of the whole text, not for each line, and "git grep" passes a large chunk of text (possibly containing many lines) to pcre_exec() and then splits the text into lines. This makes "git grep -P" behave differently from "git grep -E" and also from "grep -P" and "pcregrep": $ cat file a b $ git grep --no-index -P '^ ' file $ git grep --no-index -E '^ ' file file: b $ grep -c -P '^ ' file b $ pcregrep -c '^ ' file b Reported-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> Signed-off-by: Michał Kiedrowicz <michal.kiedrowicz@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 February 2012, 00:34:03 UTC
f0c5793 am: don't infloop for an empty input file git-am.sh's check_patch_format function would attempt to preview the patch to guess its format, but would go into an infinite loop when the patch file happened to be empty. The solution: exit the loop when "read" fails, not when the line var, "$l1" becomes empty. Signed-off-by: Jim Meyering <meyering@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 February 2012, 00:32:54 UTC
ad687b4 rebase -m: only call "notes copy" when rewritten exists and is non-empty This prevents a shell error complaining rebase-merge/rewritten doesn't exist. Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 February 2012, 00:32:37 UTC
09ccbd3 git-p4: remove bash-ism in t9800 This works in both bash and dash: $ bash -c 'VAR=1 env' | grep VAR VAR=1 $ dash -c 'VAR=1 env' | grep VAR VAR=1 But environment variables assigned this way are not necessarily propagated through a function in POSIX compliant shells: $ bash -c 'f() { "$@" }; VAR=1 f "env"' | grep VAR VAR=1 $ dash -c 'f() { "$@" }; VAR=1 f "env"' | grep VAR Fix constructs like this, in particular, setting variables through test_must_fail. Based-on-patch-by: Vitor Antunes <vitor.hda@gmail.com> Signed-off-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 February 2012, 00:20:18 UTC
8d93a5a git-p4: remove bash-ism in t9809 Plain old $# works to count the number of arguments in either bash or dash, even if the arguments have spaces. Based-on-patch-by: Vitor Antunes <vitor.hda@gmail.com> Signed-off-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 February 2012, 00:19:22 UTC
543987b git-p4: fix submit regression with clientSpec and subdir clone When the --use-client-spec is given to clone, and the clone path is a subset of the full tree as specified in the client, future submits will go to the wrong place. Factor out getClientSpec() so both clone/sync and submit can use it. Introduce getClientRoot() that is needed for the client spec case, and use it instead of p4Where(). Test the five possible submit behaviors (add, modify, rename, copy, delete). Reported-by: Laurent Charrière <lcharriere@promptu.com> Signed-off-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 February 2012, 00:14:29 UTC
a93d33e git-p4: set useClientSpec variable on initial clone If --use-client-spec was given, set the matching configuration variable. This is necessary to ensure that future submits work properly. The alternatives of requiring the user to set it, or providing a command-line option on every submit, are error prone. Signed-off-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 February 2012, 00:14:20 UTC
39cb644 Makefile: add thread-utils.h to LIB_H Starting with commit v1.7.8-165-g0579f91, grep.h includes thread-utils.h, so the latter has to be added to LIB_H. Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> Acked-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 February 2012, 22:31:26 UTC
07f050c README: point to Documentation/SubmittingPatches It was indeed not obvious for new contributors to find this document in the source tree, since there were no reference to it outside the Documentation/ directory. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 February 2012, 19:35:59 UTC
8c80ff3 Document merge.branchdesc configuration variable This was part of the "branch description" feature in the larger "help people communicate better during their pull based workflow" topic, but was never documented. Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 February 2012, 19:20:15 UTC
78f4c9f Git 1.7.9.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 February 2012, 01:48:01 UTC
514a529 completion: use tabs for indentation CodingGuidlines confidently declares "We use tabs for indentation." It would be a shame if it were caught lying. Signed-off-by: Philip Jägenstedt <philip@foolip.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 February 2012, 21:57:38 UTC
176158c completion: remove stale "to submit patches" documentation It was out-of-sync with the reality of who works on this script. Defer (silently) to Documentation/SubmittingPatches like all other code. Signed-off-by: Philip Jägenstedt <philip@foolip.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 February 2012, 21:57:05 UTC
72d5e74 Update draft release notes to 1.7.9.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 February 2012, 23:16:34 UTC
e147e96 Merge branch 'cb/receive-pack-keep-errors' into maint * cb/receive-pack-keep-errors: do not override receive-pack errors 21 February 2012, 23:14:41 UTC
c7707a4 Merge branch 'cb/transfer-no-progress' into maint * cb/transfer-no-progress: push/fetch/clone --no-progress suppresses progress output 21 February 2012, 23:14:37 UTC
0cfba96 Merge branch 'jk/git-dir-lookup' into maint * jk/git-dir-lookup: standardize and improve lookup rules for external local repos 21 February 2012, 23:13:16 UTC
a67c235 Merge branch 'jc/diff-stat-scaler' into maint * jc/diff-stat-scaler: diff --stat: show bars of same length for paths with same amount of changes 21 February 2012, 23:00:33 UTC
c17ff2a Merge branch 'zj/term-columns' into maint * zj/term-columns: pager: find out the terminal width before spawning the pager 21 February 2012, 23:00:15 UTC
1e2545c Merge branch 'cb/maint-rev-list-verify-object' into maint * cb/maint-rev-list-verify-object: git rev-list: fix invalid typecast 21 February 2012, 22:59:35 UTC
c1ed5e6 Merge branch 'cb/maint-t5541-make-server-port-portable' into maint * cb/maint-t5541-make-server-port-portable: t5541: check error message against the real port number used 21 February 2012, 22:57:40 UTC
ef55bd7 Merge branch 'dp/i18n-libcharset' into maint * dp/i18n-libcharset: Makefile: introduce CHARSET_LIB to link with -lcharset 21 February 2012, 22:57:14 UTC
6f61eb2 Merge branch 'jk/grep-binary-attribute' into maint * jk/grep-binary-attribute: grep: pre-load userdiff drivers when threaded grep: load file data after checking binary-ness grep: respect diff attributes for binary-ness grep: cache userdiff_driver in grep_source grep: drop grep_buffer's "name" parameter convert git-grep to use grep_source interface grep: refactor the concept of "grep source" into an object grep: move sha1-reading mutex into low-level code grep: make locking flag global 21 February 2012, 22:57:05 UTC
093b194 Merge branch 'nd/diffstat-gramnum' into maint * nd/diffstat-gramnum: Use correct grammar in diffstat summary line 21 February 2012, 22:56:39 UTC
f3ccea8 Merge branch 'nd/find-pack-entry-recent-cache-invalidation' into maint * nd/find-pack-entry-recent-cache-invalidation: find_pack_entry(): do not keep packed_git pointer locally sha1_file.c: move the core logic of find_pack_entry() into fill_pack_entry() 21 February 2012, 22:56:36 UTC
655c3ed Merge branch 'tt/profile-build-fix' into maint * tt/profile-build-fix: Makefile: fix syntax for older make Fix build problems related to profile-directed optimization 21 February 2012, 22:56:06 UTC
014578e Merge branch 'fc/zsh-completion' into maint * fc/zsh-completion: completion: simplify __gitcomp and __gitcomp_nl implementations completion: use ls -1 instead of rolling a loop to do that ourselves completion: work around zsh option propagation bug 21 February 2012, 22:55:50 UTC
f24a595 completion: Allow dash as the first character for __git_ps1 If the argument for `__git_ps1` begins with a dash, `printf` tries to interpret it as an option which results in an error message. The problem is solved by adding '--' before the argument to tell `printf` to not interpret the following argument as an option. Adding '--' directly to the argument does not help because the argument is enclosed by double quotes. Signed-off-by: Christian Hammerl <info@christian-hammerl.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 February 2012, 20:38:07 UTC
233054d Update draft release notes to 1.7.9.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 February 2012, 08:14:00 UTC
a8356d4 configure: don't use -lintl when there is no gettext support The current configure script uses -lintl if gettext is not found in the C library, but does so before checking if there is libintl.h available in the first place, in which case we would later define NO_GETTEXT. Instead, check for the existence of libintl.h first. Only when libintl.h exists and libintl is not in libc, ask for -lintl. Signed-off-by: John Szakmeister <john@szakmeister.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 February 2012, 08:01:53 UTC
ca5bc9e remote: fix set-branches usage and documentation The canonical order of command line arguments is always to have dashed commands before other parameters, but the "git remote set-branches" subcommand was described to take "name" before an optional "--add". Signed-off-by: Philip Jägenstedt <philip@foolip.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 February 2012, 07:44:38 UTC
fc8fcd2 gitweb: Fix 'grep' search for multiple matches in file Commit ff7f218 (gitweb: Fix file links in "grep" search, 2012-01-05), added $file_href variable, to reduce duplication and have the fix applied in single place. Unfortunately it made variable defined inside the loop, not taking into account the fact that $file_href was set only if file changed. Therefore for files with multiple matches $file_href was undefined for second and subsequent matches. Fix this bug by moving $file_href declaration outside loop. Adds tests for almost all forms of sarch in gitweb, which were missing from testuite. Note that it only tests if there are no warnings, and it doesn't check that gitweb finds what it should find. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 February 2012, 06:21:35 UTC
3d1f148 refresh_index: do not show unmerged path that is outside pathspec When running "git add --refresh <pathspec>", we incorrectly showed the path that is unmerged even if it is outside the specified pathspec, even though we did honor pathspec and refreshed only the paths that matched. Note that this cange does not affect "git update-index --refresh"; for hysterical raisins, it does not take a pathspec (it takes real paths) and more importantly itss command line options are parsed and executed one by one as they are encountered, so "git update-index --refresh foo" means "first refresh the index, and then update the entry 'foo' by hashing the contents in file 'foo'", not "refresh only entry 'foo'". Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 February 2012, 18:11:05 UTC
fd49e56 gitweb: Fix "heads" view when there is no current branch In a repository whose HEAD points to an unborn branch with no commits, "heads" view and "summary" view (which shows what is shown in "heads" view) compared the object names of commits at the tip of branches with the output from "git rev-parse HEAD", which caused comparison of a string with undef and resulted in a warning in the server log. This can happen if non-bare repository (with default 'master' branch) is updated not via committing but by other means like push to it, or Gerrit. It can happen also just after running "git checkout --orphan <new branch>" but before creating any new commit on this branch. Rewrite the comparison so that it also works when $head points at nothing; in such a case, no branch can be "the current branch", add a test for it. While at it, rename local variable $head to $head_at, as it points to current commit rather than current branch name (HEAD contents). The code still incorrectly shows all branches that point at the same commit as what HEAD points as "the current branch", even when HEAD is detached. Fixing this bug is outside the scope of this patch. Reported-by: Rajesh Boyapati Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 February 2012, 16:25:30 UTC
d1ba7a4 Update draft release notes to 1.7.9.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 February 2012, 22:26:32 UTC
147d071 Merge branch 'jc/checkout-out-of-unborn' into maint * jc/checkout-out-of-unborn: git checkout -b: allow switching out of an unborn branch 16 February 2012, 22:18:06 UTC
57d6b07 Merge branch 'jc/maint-mailmap-output' into maint * jc/maint-mailmap-output: mailmap: always return a plain mail address from map_user() 16 February 2012, 22:18:03 UTC
f3f3c4d Merge branch 'jk/prompt-fallback-to-tty' into maint * jk/prompt-fallback-to-tty: prompt: fall back to terminal if askpass fails prompt: clean up strbuf usage 16 February 2012, 22:18:00 UTC
35c60a0 Merge branch 'jn/gitweb-search-utf-8' into maint * jn/gitweb-search-utf-8: gitweb: Allow UTF-8 encoded CGI query parameters and path_info 16 February 2012, 22:17:58 UTC
6c63ab3 Merge branch 'jc/maint-commit-ignore-i-t-a' into maint * jc/maint-commit-ignore-i-t-a: commit: ignore intent-to-add entries instead of refusing Conflicts: cache-tree.c 16 February 2012, 22:08:00 UTC
c6a4e3f Merge branch 'mm/empty-loose-error-message' into maint * mm/empty-loose-error-message: fsck: give accurate error message on empty loose object files 16 February 2012, 22:00:25 UTC
f342afa Merge branch 'nk/ctype-for-perf' into maint * nk/ctype-for-perf: ctype: implement islower/isupper macro ctype.c only wants git-compat-util.h 16 February 2012, 22:00:16 UTC
e6d88ca Merge branch 'jx/i18n-more-marking' into maint * jx/i18n-more-marking: i18n: format_tracking_info "Your branch is behind" message i18n: git-commit whence_s "merge/cherry-pick" message 16 February 2012, 21:59:53 UTC
68e4b55 man: rearrange git synopsis to fit in 80 lines The line was extended in 2dd8c3 ('git: add --info-path and --man-path options'), and the formatted man output stopped fitting into the 80 column window. Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 February 2012, 21:01:31 UTC
a7fab08 completion: --list option for git-branch Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 February 2012, 20:33:50 UTC
5639786 Merge branch 'rt/completion-branch-edit-desc' into maint * rt/completion-branch-edit-desc: completion: --edit-description option for git-branch 16 February 2012, 20:33:46 UTC
2eeeef2 diff --stat: show bars of same length for paths with same amount of changes When commit 3ed74e6 (diff --stat: ensure at least one '-' for deletions, and one '+' for additions, 2006-09-28) improved the output for files with tiny modifications, we accidentally broke the logic to ensure that two equal sized changes are shown with the bars of the same length, even when rounding errors exist. Compute the length of the graph bars, using the same "non-zero changes is shown with at least one column" scaling logic, but by scaling the sum of additions and deletions to come up with the total length of the bar (this ensures that two equal sized changes result in bars of the same length), and then scaling the smaller of the additions or deletions. The other side is computed as the difference between the two. This makes the apportioning between additions and deletions less accurate due to rounding errors, but it is much less noticeable than two files with the same amount of change showing bars of different length. Signed-off-by: Junio C Hamano <gitster@pobox.com> 14 February 2012, 22:21:49 UTC
90020e3 Git 1.7.9.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 14 February 2012, 17:53:38 UTC
a95750c Merge branch 'jk/maint-tag-show-fixes' into maint * jk/maint-tag-show-fixes: tag: do not show non-tag contents with "-n" tag: die when listing missing or corrupt objects tag: fix output of "tag -n" when errors occur Conflicts: t/t7004-tag.sh 14 February 2012, 07:31:27 UTC
801b28a Merge branch 'bw/inet-pton-ntop-compat' into maint * bw/inet-pton-ntop-compat: Drop system includes from inet_pton/inet_ntop compatibility wrappers 14 February 2012, 07:26:31 UTC
1dcfa8d Merge branch 'mp/make-cleanse-x-for-exe' into maint * mp/make-cleanse-x-for-exe: Explicitly set X to avoid potential build breakage 14 February 2012, 07:26:25 UTC
42e283a Merge branch 'jn/merge-no-edit-fix' into maint * jn/merge-no-edit-fix: merge: do not launch an editor on "--no-edit $tag" 14 February 2012, 07:24:02 UTC
ad6c373 pager: find out the terminal width before spawning the pager term_columns() checks for terminal width via ioctl(2) on the standard output, but we spawn the pager too early for this check to be useful. The effect of this buglet can be observed by opening a wide terminal and running "git -p help --all", which still shows 80-column output, while "git help --all" uses the full terminal width. Run the check before we spawn the pager to fix this. While at it, move term_columns() to pager.c and export it from cache.h so that callers other than the help subsystem can use it. Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> Signed-off-by: Junio C Hamano <gitster@pobox.com> 13 February 2012, 23:08:47 UTC
ef7e93d do not override receive-pack errors Receive runs rev-list --verify-objects in order to detect missing objects. However, such errors are ignored and overridden later. Instead, consequently ignore all update commands for which an error has already been detected. Some tests in t5504 are obsoleted by this change, because invalid objects are detected even if fsck is not enabled. Instead, they now test for different error messages depending on whether or not fsck is turned on. A better fix would be to force a corruption that will be detected by fsck but not by rev-list. Signed-off-by: Clemens Buchacher <drizzd@aon.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> 13 February 2012, 21:29:08 UTC
d202a51 t5541: check error message against the real port number used Otherwise the test cannot be run with custom port set to LIB_HTTPD_PORT. Signed-off-by: Clemens Buchacher <drizzd@aon.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> 13 February 2012, 21:25:40 UTC
01fdc21 push/fetch/clone --no-progress suppresses progress output By default, progress output is disabled if stderr is not a terminal. The --progress option can be used to force progress output anyways. Conversely, --no-progress does not force progress output. In particular, if stderr is a terminal, progress output is enabled. This is unintuitive. Change --no-progress to force output off. Signed-off-by: Clemens Buchacher <drizzd@aon.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> 13 February 2012, 21:06:53 UTC
cb8da70 git rev-list: fix invalid typecast git rev-list passes rev_list_info, not rev_list objects. Without this fix, rev-list enables or disables the --verify-objects option depending on a read from an undefined memory location. Signed-off-by: Clemens Buchacher <drizzd@aon.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> 13 February 2012, 20:49:15 UTC
58d4203 Update draft release notes to 1.7.9.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 13 February 2012, 19:46:47 UTC
4daf6fc Merge branch 'js/add-e-submodule-fix' into maint * js/add-e-submodule-fix: add -e: do not show difference in a submodule that is merely dirty 13 February 2012, 19:42:18 UTC
87cb3b8 Merge branch 'jc/parse-date-raw' into maint * jc/parse-date-raw: parse_date(): '@' prefix forces git-timestamp parse_date(): allow ancient git-timestamp 13 February 2012, 19:42:15 UTC
5a62b53 Merge branch 'jc/merge-ff-only-stronger-than-signed-merge' into maint * jc/merge-ff-only-stronger-than-signed-merge: merge: do not create a signed tag merge under --ff-only option 13 February 2012, 19:42:11 UTC
8eb865b Merge branch 'jc/branch-desc-typoavoidance' into maint * jc/branch-desc-typoavoidance: branch --edit-description: protect against mistyped branch name tests: add write_script helper function 13 February 2012, 19:42:07 UTC
a78f558 Merge branch 'jn/rpm-spec' into maint * jn/rpm-spec: git.spec: Workaround localized messages not put in any RPM 13 February 2012, 19:42:04 UTC
1f5ad6b t: use sane_unset instead of unset Change several tests to use the sane_unset function introduced in v1.7.3.1-35-g00648ba instead of the built-in unset function. This fixes a failure I was having on t9130-git-svn-authors-file.sh on Solaris, and prevents several other issues from occurring. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 13 February 2012, 10:29:15 UTC
d24fbca Remove Git's support for smoke testing I'm no longer running the Git smoke testing service at smoke.git.nix.is due to Smolder being a fragile piece of software not having time to follow through on making it easy for third parties to run and submit their own smoke tests. So remove the support in Git for sending smoke tests to smoke.git.nix.is, it's still easy to modify the test suite to submit smokes somewhere else. This reverts the following commits: Revert "t/README: Add SMOKE_{COMMENT,TAGS}= to smoke_report target" -- e38efac87d Revert "t/README: Document the Smoke testing" -- d15e9ebc5c Revert "t/Makefile: Create test-results dir for smoke target" -- 617344d77b Revert "tests: Infrastructure for Git smoke testing" -- b6b84d1b74 Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 13 February 2012, 10:29:07 UTC
6d62c98 Makefile: Change the default compiler from "gcc" to "cc" Ever since the very first commit to git.git we've been setting CC to "gcc". Presumably this is behavior that Linus copied from the Linux Makefile. However unlike Linux Git is written in ANSI C and supports a multitude of compilers, including Clang, Sun Studio, xlc etc. On my Linux box "cc" is a symlink to clang, and on a Solaris box I have access to "cc" is Sun Studio's CC. Both of these are perfectly capable of compiling Git, and it's annoying to have to specify CC=cc on the command-line when compiling Git when that's the default behavior of most other portable programs. So change the default to "cc". Users who want to compile with GCC can still add "CC=gcc" to the make(1) command-line, but those users who don't have GCC as their "cc" will see expected behavior, and as a bonus we'll be more likely to smoke out new compilation warnings from our distributors since they'll me using a more varied set of compilers by default. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 13 February 2012, 10:28:54 UTC
b522528 Makefile: introduce CHARSET_LIB to link with -lcharset On some systems, the function locale_charset() may not be exported from libiconv but is available from libcharset, and we need -lcharset when linking. Introduce a make variable CHARSET_LIB that can be set to -lcharsetlib on such systems. Also autodetect this in the configure script by first looking for the symbol in libiconv, and then libcharset. Signed-off-by: Дилян Палаузов <dilyan.palauzov@aegee.org> 13 February 2012, 08:11:01 UTC
759a904 mergetools/meld: Use --help output to detect --output support In v1.7.7-rc0~3^2 (2011-08-19), git mergetool's "meld" support learned to use the --output option when calling versions of meld that are detected to support it (1.5.0 and newer, hopefully). Alas, it misdetects old versions (before 1.1.5, 2006-06-11) of meld as supporting the option, so on systems with such meld, instead of getting a nice merge helper, the operator gets a dialog box with the text "Wrong number of arguments (Got 5)". (Version 1.1.5 is when meld switched to using optparse. One consequence of that change was that errors in usage are detected and signalled through the exit status even when --help was passed.) Luckily there is a simpler check that is more reliable: the usage string printed by "meld --help" reliably reflects whether --output is supported in a given version. Use it. Reported-by: Jeff Epler <jepler@unpythonic.net> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 February 2012, 22:53:18 UTC
bf5cf76 Update draft release notes to 1.7.9.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 February 2012, 22:04:20 UTC
4fed4c8 Merge branch 'jc/maint-request-pull-for-tag' into maint * jc/maint-request-pull-for-tag: request-pull: explicitly ask tags/$name to be pulled 10 February 2012, 21:59:02 UTC
184a7aa Merge branch 'tr/grep-l-with-decoration' into maint * tr/grep-l-with-decoration: grep: fix -l/-L interaction with decoration lines 10 February 2012, 21:59:02 UTC
5febbda Merge branch 'jl/submodule-re-add' into maint * jl/submodule-re-add: submodule add: fix breakage when re-adding a deep submodule 10 February 2012, 21:59:01 UTC
38ca63f Merge branch 'da/maint-mergetool-twoway' into maint * da/maint-mergetool-twoway: mergetool: Provide an empty file when needed 10 February 2012, 21:59:01 UTC
43ccdf5 ctype: implement islower/isupper macro "perf" uses a the forked copy of this file, and wants to use these two macros. Signed-off-by: Namhyung Kim <namhyung.kim@lge.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 February 2012, 20:56:29 UTC
1a191a2 ctype.c only wants git-compat-util.h The implementation of sane ctype macros only depends on symbols in git-compat-util.h not cache.h Signed-off-by: Namhyung Kim <namhyung.kim@lge.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 February 2012, 20:53:55 UTC
ace5e97 Explicitly set X to avoid potential build breakage $X is appended to binary names for Windows builds (ie. git.exe). Pollution from the environment can inadvertently trigger this behaviour, resulting in 'git' turning into 'gitwhatever' without warning. Signed-off-by: Michael Palimaka <kensington@astralcloak.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 09 February 2012, 22:31:48 UTC
3adab6f merge: do not launch an editor on "--no-edit $tag" When the user explicitly asked us not to, don't launch an editor. But do everything else the same way as the "edit" case, i.e. leave the comment with verification result in the log template and record the mergesig in the resulting merge commit for later inspection. Based on initiail analysis by Jonathan Nieder. Signed-off-by: Junio C Hamano <gitster@pobox.com> 09 February 2012, 21:30:52 UTC
e60ec75 Makefile: fix syntax for older make It is necessary to write the else branch as a nested conditional. Also, write the conditions with parentheses because we use them throughout the Makefile. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 09 February 2012, 19:47:54 UTC
31fd8d7 tag: do not show non-tag contents with "-n" "git tag -n" did not check the type of the object it is reading the top n lines from. At least, avoid showing the beginning of trees and blobs when dealing with lightweight tags that point at them. As the payload of a tag and a commit look similar in that they both start with a header block, which is skipped for the purpose of "-n" output, followed by human readable text, allow the message of commit objects to be shown just like the contents of tag objects. This avoids regression for people who have been using "tag -n" to show the log messages of commits that are pointed at by lightweight tags. Test script is from Jeff King. Signed-off-by: Junio C Hamano <gitster@pobox.com> 09 February 2012, 04:44:39 UTC
3f6d56d commit: ignore intent-to-add entries instead of refusing Originally, "git add -N" was introduced to help users from forgetting to add new files to the index before they ran "git commit -a". As an attempt to help them further so that they do not forget to say "-a", "git commit" to commit the index as-is was taught to error out, reminding the user that they may have forgotten to add the final contents of the paths before running the command. This turned out to be a false "safety" that is useless. If the user made changes to already tracked paths and paths added with "git add -N", and then ran "git add" to register the final contents of the paths added with "git add -N", "git commit" will happily create a commit out of the index, without including the local changes made to the already tracked paths. It was not a useful "safety" measure to prevent "forgetful" mistakes from happening. It turns out that this behaviour is not just a useless false "safety", but actively hurts use cases of "git add -N" that were discovered later and have become popular, namely, to tell Git to be aware of these paths added by "git add -N", so that commands like "git status" and "git diff" would include them in their output, even though the user is not interested in including them in the next commit they are going to make. Fix this ancient UI mistake, and instead make a commit from the index ignoring the paths added by "git add -N" without adding real contents. Based on the work by Nguyễn Thái Ngọc Duy, and helped by injection of sanity from Jonathan Nieder and others on the Git mailing list. Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 February 2012, 20:14:40 UTC
701825d add -e: do not show difference in a submodule that is merely dirty When the HEAD of the submodule matches what is recorded in the index of the superproject, and it has local changes or untracked files, the patch offered by "git add -e" for editing shows a diff like this: diff --git a/submodule b/submodule <header> -deadbeef... +deadbeef...-dirty Because applying such a patch has no effect to the index, this is a useless noise. Generate the patch with IGNORE_DIRTY_SUBMODULES flag to prevent such a change from getting reported. This patch also loses the "-dirty" suffix from the output when the HEAD of the submodule is different from what is in the index of the superproject. As such dirtiness expressed by the suffix does not affect the result of the patch application at all, there is no information lost if we remove it. The user could still run "git status" before "git add -e" if s/he cares about the dirtiness. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 February 2012, 16:59:40 UTC
abe1998 git checkout -b: allow switching out of an unborn branch Running "git checkout -b another" immediately after "git init" when you do not even have a commit on 'master' fails with: $ git checkout -b another fatal: You are on a branch yet to be born This is unnecessary, if we redefine "git checkout -b $name" that does not take any $start_point (which has to be a commit) as "I want to check out a new branch $name from the state I am in". Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 February 2012, 00:32:15 UTC
583e4d5 completion: simplify __gitcomp and __gitcomp_nl implementations These shell functions are written in an unnecessarily verbose way; simplify their "conditionally use $<number> after checking $# against <number>" logic by using shell's built-in conditional substitution facilities. Also remove the first of the two assignments to IFS in __gitcomp_nl that does not have any effect. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 February 2012, 23:53:33 UTC
d79f81a completion: use ls -1 instead of rolling a loop to do that ourselves This simplifies the code a great deal. In particular, it allows us to get rid of __git_shopt, which is used only in this fuction to enable 'nullglob' in zsh. [jn: squashed with a patch that actually gets rid of __git_shopt] Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 February 2012, 23:53:31 UTC
cf0ff02 completion: work around zsh option propagation bug When listing commands in zsh (git <TAB><TAB>), all of them will show up, instead of only porcelain ones. The root cause of this is because zsh versions from 4.3.0 to present (4.3.15) do not correctly propagate the SH_WORD_SPLIT option into the subshell in ${foo:=$(bar)} expressions. Because of this bug, the list of all commands was treated as a single word in __git_list_porcelain_commands and did not match any of the patterns that would usually cause plumbing to be excluded. With problematic versions of zsh, after running emulate sh fn () { var='one two' for v in $var; do echo $v; done } x=$(fn) : ${y=$(fn)} printing "$x" results in two lines as expected, but printing "$y" results in a single line because $var is expanded as a single word when evaluating fn to compute y. So avoid the construct, and use an explicit 'test -n "$foo" || foo=$(bar)' instead. [jn: clarified commit message, indentation style fix] Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 February 2012, 23:52:51 UTC
f026358 mailmap: always return a plain mail address from map_user() The callers of map_user() give email and name to it, and expect to get the up-to-date email and/or name to be used in their output. The function rewrites the given buffers in place. To optimize the majority of cases, the function returns 0 when it did not do anything, and it returns 1 when the caller should use the updated contents. The 'email' input to the function is terminated by '>' or a NUL (whichever comes first) for historical reasons, but when a rewrite happens, the value is replaced with the mailbox inside the <> pair. However, it failed to meet this expectation when it only rewrote the name part without rewriting the email part, and the email in the input was terminated by '>'. This causes an extra '>' to appear in the output of "blame -e", because the caller does send in '>'-terminated email, and when the function returned 1 to tell it that rewriting happened, it appends '>' that is necessary when the email part was rewritten. The patch looks bigger than it actually is, because this change makes a variable that points at the end of the email part in the input 'p' live much longer than it used to, deserving a more descriptive name. Noticed and diagnosed by Felipe Contreras and Jeff King. Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 February 2012, 22:00:06 UTC
33e42de fsck: give accurate error message on empty loose object files Since 3ba7a065527a (A loose object is not corrupt if it cannot be read due to EMFILE), "git fsck" on a repository with an empty loose object file complains with the error message fatal: failed to read object <sha1>: Invalid argument This comes from a failure of mmap on this empty file, which sets errno to EINVAL. Instead of calling xmmap on empty file, we display a clean error message ourselves, and return a NULL pointer. The new message is error: object file .git/objects/09/<rest-of-sha1> is empty fatal: loose object <sha1> (stored in .git/objects/09/<rest-of-sha1>) is corrupt The second line was already there before the regression in 3ba7a065527a, and the first is an additional message, that should help diagnosing the problem for the user. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 February 2012, 19:05:36 UTC
back to top