swh:1:snp:6df5a50b8107b6bbe1e51d0239d816a7503c536a

sort by:
Revision Author Date Message Commit Date
bafc478 Git 1.7.11.7 Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 September 2012, 03:57:23 UTC
19ece72 Merge branch 'jk/maint-quiet-is-synonym-to-s-in-log' into maint-1.7.11 * jk/maint-quiet-is-synonym-to-s-in-log: log: fix --quiet synonym for -s 15 September 2012, 03:48:31 UTC
ddbca33 Merge branch 'jc/maint-ident-missing-human-name' into maint-1.7.11 * jc/maint-ident-missing-human-name: split_ident_line(): make best effort when parsing author/committer line 15 September 2012, 03:48:22 UTC
dabdc01 Merge branch 'rj/test-regex' into maint-1.7.11 * rj/test-regex: test-regex: Add a test to check for a bug in the regex routines 15 September 2012, 03:46:39 UTC
f463cc5 Merge branch 'da/gitk-reload-tag-contents' into maint-1.7.11 * da/gitk-reload-tag-contents: gitk: Rename 'tagcontents' to 'cached_tagcontent' gitk: Teach "Reread references" to reload tags gitk: Avoid Meta1-F5 15 September 2012, 03:45:55 UTC
6711759 Merge branch 'jc/maint-checkout-fileglob-doc' into maint-1.7.11 * jc/maint-checkout-fileglob-doc: gitcli: contrast wildcard given to shell and to git gitcli: formatting fix Document file-glob for "git checkout -- '*.c'" 15 September 2012, 03:45:03 UTC
1403db4 Merge branch 'jc/apply-binary-p0' into maint-1.7.11 "git apply -p0" did not parse pathnames on "diff --git" line correctly. This caused patches that had pathnames in no other places to be mistakenly rejected (most notably, binary patch that does not rename nor change mode). Textual patches, renames or mode changes have preimage and postimage pathnames in different places in a form that can be parsed unambiguously and did not suffer from this problem. * jc/apply-binary-p0: apply: compute patch->def_name correctly under -p0 12 September 2012, 21:00:53 UTC
eaff724 Merge branch 'jc/dotdot-is-parent-directory' into maint-1.7.11 "git log .." errored out saying it is both rev range and a path when there is no disambiguating "--" is on the command line. Update the command line parser to interpret ".." as a path in such a case. * jc/dotdot-is-parent-directory: specifying ranges: we did not mean to make ".." an empty set 12 September 2012, 21:00:34 UTC
1b8bc86 Merge branch 'jc/maint-doc-checkout-b-always-takes-branch-name' into maint-1.7.11 The synopsis said "checkout [-B branch]" to make it clear the branch name is a parameter to the option, but the heading for the option description was "-B::", not "-B branch::", making the documentation misleading. * jc/maint-doc-checkout-b-always-takes-branch-name: doc: "git checkout -b/-B/--orphan" always takes a branch name 12 September 2012, 20:59:58 UTC
7d9483c Merge branch 'jk/maint-http-half-auth-push' into maint-1.7.11 Pushing to smart HTTP server with recent Git fails without having the username in the URL to force authentication, if the server is configured to allow GET anonymously, while requiring authentication for POST. * jk/maint-http-half-auth-push: http: prompt for credentials on failed POST http: factor out http error code handling t: test http access to "half-auth" repositories t: test basic smart-http authentication t/lib-httpd: recognize */smart/* repos as smart-http t/lib-httpd: only route auth/dumb to dumb repos t5550: factor out http auth setup t5550: put auth-required repo in auth/dumb 12 September 2012, 20:58:23 UTC
92c830d Merge branch 'kk/maint-for-each-ref-multi-sort' into maint-1.7.11 "git for-each-ref" did not honor multiple "--sort=<key>" arguments correctly. * kk/maint-for-each-ref-multi-sort: for-each-ref: Fix sort with multiple keys t6300: test sort with multiple keys 12 September 2012, 20:57:43 UTC
e09e402 Git 1.7.11.6 Signed-off-by: Junio C Hamano <gitster@pobox.com> 11 September 2012, 18:18:48 UTC
23242a6 Merge branch 'jc/maint-mergetool-style-fix' into maint-1.7.11 * jc/maint-mergetool-style-fix: mergetool: style fixes 11 September 2012, 18:10:23 UTC
ee7a83f Merge branch 'sz/submodule-force-update' into maint-1.7.11 * sz/submodule-force-update: Make 'git submodule update --force' always check out submodules. 11 September 2012, 18:10:17 UTC
ef92392 Merge branch 'ph/stash-rerere' into maint-1.7.11 * ph/stash-rerere: stash: invoke rerere in case of conflict test: git-stash conflict sets up rerere 11 September 2012, 18:10:12 UTC
91feb38 Merge branch 'jc/maint-sane-execvp-notdir' into maint-1.7.11 * jc/maint-sane-execvp-notdir: sane_execvp(): ignore non-directory on $PATH 11 September 2012, 18:09:19 UTC
4c3fda0 Merge branch 'jc/maint-config-exit-status' into maint-1.7.11 * jc/maint-config-exit-status: config: "git config baa" should exit with status 1 11 September 2012, 18:09:09 UTC
f6854ca Merge branch 'mh/maint-config-doc-proxy-command' into maint-1.7.11 * mh/maint-config-doc-proxy-command: git-config doc: unconfuse an example git-config.txt: fix example 11 September 2012, 18:09:01 UTC
fe31b2a Merge branch 'hv/submodule-path-unmatch' into maint-1.7.11 * hv/submodule-path-unmatch: Let submodule command exit with error status if path does not exist 11 September 2012, 18:08:55 UTC
ef66ac3 Merge branch 'mz/empty-rebase-test' into maint-1.7.11 * mz/empty-rebase-test: add tests for 'git rebase --keep-empty' 11 September 2012, 18:08:48 UTC
515cd19 Merge branch 'jk/docs-docbook-monospace-display' into maint-1.7.11 * jk/docs-docbook-monospace-display: docs: monospace listings in docbook output 11 September 2012, 18:08:40 UTC
d9b983f Merge branch 'ab/diff-write-incomplete-line' into maint-1.7.11 * ab/diff-write-incomplete-line: Fix '\ No newline...' annotation in rewrite diffs 11 September 2012, 18:08:30 UTC
ffb1346 Merge branch 'jc/maint-t7406-rev-parse-max-count-huh' into maint-1.7.11 * jc/maint-t7406-rev-parse-max-count-huh: t7406: fix misleading "rev-parse --max-count=1 HEAD" 11 September 2012, 18:08:18 UTC
738c218 Merge branch 'tr/void-diff-setup-done' into maint-1.7.11 * tr/void-diff-setup-done: diff_setup_done(): return void 11 September 2012, 17:53:40 UTC
3f83594 Merge branch 'tr/merge-recursive-flush' into maint-1.7.11 * tr/merge-recursive-flush: merge-recursive: eliminate flush_buffer() in favor of write_in_full() 11 September 2012, 17:53:31 UTC
d8ce800 Merge branch 'nd/index-errno' into maint-1.7.11 * nd/index-errno: read_index_from: remove bogus errno assignments 11 September 2012, 17:53:21 UTC
10a32fa Merge branch 'pg/maint-apply-remove-unused-variable' into maint-1.7.11 * pg/maint-apply-remove-unused-variable: apply: delete unused deflate_origlen from patch struct 11 September 2012, 17:53:11 UTC
9a8eea9 Almost 1.7.11.6 Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 September 2012, 22:30:46 UTC
73eb89e Merge branch 'mg/rebase-i-onto-reflog-in-full' into maint-1.7.11 The reflog entries left by "git rebase" and "git rebase -i" were inconsistent (the interactive one gave an abbreviated object name). * mg/rebase-i-onto-reflog-in-full: rebase -i: use full onto sha1 in reflog 10 September 2012, 22:26:03 UTC
7cc51cf Merge branch 'jc/maint-protect-sh-from-ifs' into maint-1.7.11 When the user exports a non-default IFS without HT, scripts that rely on being able to parse "ls-files -s | while read a b c..." start to fail. Protect them from such a misconfiguration. * jc/maint-protect-sh-from-ifs: sh-setup: protect from exported IFS 10 September 2012, 22:25:45 UTC
3f66463 Merge branch 'bc/receive-pack-stdout-protection' into maint-1.7.11 When "git push" triggered the automatic gc on the receiving end, a message from "git prune" that said it was removing cruft leaked to the standard output, breaking the communication protocol. * bc/receive-pack-stdout-protection: receive-pack: do not leak output from auto-gc to standard output t/t5400: demonstrate breakage caused by informational message from prune 10 September 2012, 22:25:09 UTC
03adeea Merge branch 'jk/maint-null-in-trees' into maint-1.7.11 "git diff" had a confusion between taking data from a path in the working tree and taking data from an object that happens to have name 0{40} recorded in a tree. * jk/maint-null-in-trees: fsck: detect null sha1 in tree entries do not write null sha1s to on-disk index diff: do not use null sha1 as a sentinel value 10 September 2012, 22:24:54 UTC
423a9e2 Merge branch 'tr/maint-send-email-2047' into maint-1.7.11 "git send-email" did not unquote encoded words that appear on the header correctly, and lost "_" from strings. * tr/maint-send-email-2047: send-email: improve RFC2047 quote parsing 10 September 2012, 22:24:41 UTC
5f9d8e3 Merge branch 'mm/die-with-dashdash-help' into maint-1.7.11 When the user gives an argument that can be taken as both a revision name and a pathname without disambiguating with "--", we used to give a help message "Use '--' to separate". The message has been clarified to show where that '--' goes on the command line. * mm/die-with-dashdash-help: setup: clarify error messages for file/revisions ambiguity 10 September 2012, 22:24:21 UTC
3d4003b Merge branch 'js/gitweb-path-info-unquote' into maint-1.7.11 "gitweb" when used with PATH_INFO failed to notice directories with SP (and other characters that need URL-style quoting) in them. * js/gitweb-path-info-unquote: gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO 10 September 2012, 22:23:46 UTC
8300016 gitcli: contrast wildcard given to shell and to git People who are not used to working with shell may intellectually understand how the command line argument is massaged by the shell but still have a hard time visualizing the difference between letting the shell expand fileglobs and having Git see the fileglob to use as a pathspec. Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 September 2012, 19:59:36 UTC
008566e gitcli: formatting fix The paragraph to encourage use of "--" in scripts belongs to the bullet point that describes the behaviour for a command line without the explicit "--" disambiguation; it is not a supporting explanation for the entire bulletted list, and it is wrong to make it a separate paragraph outside the list. Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 September 2012, 19:59:02 UTC
587277f gitk: Rename 'tagcontents' to 'cached_tagcontent' Name the 'tagcontents' variable similarly to the rest of the variables cleared in the changedrefs() function. This makes the naming consistent and provides a hint that it should be cleared when reloading gitk's cache. Suggested-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 09 September 2012, 03:25:09 UTC
9b5bdf5 gitk: Teach "Reread references" to reload tags Tag contents, once read, are forever cached in memory. This makes gitk unable to notice when tag contents change. Allow users to cause a reload of the tag contents by using the "File->Reread references" action. Reported-by: Tim McCormack <cortex@brainonfire.net> Suggested-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 09 September 2012, 03:25:09 UTC
caae319 Document file-glob for "git checkout -- '*.c'" Just like we give a similar example in "git add" documentation. Signed-off-by: Junio C Hamano <gitster@pobox.com> 04 September 2012, 15:36:33 UTC
c918415 test-regex: Add a test to check for a bug in the regex routines Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com> 03 September 2012, 01:57:21 UTC
e27ddb6 split_ident_line(): make best effort when parsing author/committer line Commits made by ancient version of Git allowed committer without human readable name, like this (00213b17c in the kernel history): tree 6947dba41f8b0e7fe7bccd41a4840d6de6a27079 parent 352dd1df32e672be4cff71132eb9c06a257872fe author Petr Baudis <pasky@ucw.cz> 1135223044 +0100 committer <sam@mars.ravnborg.org> 1136151043 +0100 kconfig: Remove support for lxdialog --checklist ... Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> When fed such a commit, --format='%ci' fails to parse it, and gives back an empty string. Update the split_ident_line() to be a bit more lenient when parsing, but make sure the caller that wants to pick up sane value from its return value does its own validation. Signed-off-by: Junio C Hamano <gitster@pobox.com> 31 August 2012, 21:54:18 UTC
f9c75d8 log: fix --quiet synonym for -s Originally the "--quiet" option was parsed by the diff-option parser into the internal QUICK option. This had the effect of silencing diff output from the log (which was not intended, but happened to work and people started to use it). But it also had other odd side effects at the diff level (for example, it would suppress the second commit in "git show A B"). To fix this, commit 1c40c36 converted log to parse-options and handled the "quiet" option separately, not passing it on to the diff code. However, it simply ignored the option, which was a regression for people using it as a synonym for "-s". Commit 01771a8 then fixed that by interpreting the option to add DIFF_FORMAT_NO_OUTPUT to the list of output formats. However, that commit did not fix it in all cases. It sets the flag after setup_revisions is called. Naively, this makes sense because you would expect the setup_revisions parser to overwrite our output format flag if "-p" or another output format flag is seen. However, that is not how the NO_OUTPUT flag works. We actually store it in the bit-field as just another format. At the end of setup_revisions, we call diff_setup_done, which post-processes the bitfield and clears any other formats if we have set NO_OUTPUT. By setting the flag after setup_revisions is done, diff_setup_done does not have a chance to make this tweak, and we end up with other format options still set. As a result, the flag would have no effect in "git log -p --quiet" or "git show --quiet". Fix it by setting the format flag before the call to setup_revisions. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 August 2012, 22:37:29 UTC
b81401c http: prompt for credentials on failed POST All of the smart-http GET requests go through the http_get_* functions, which will prompt for credentials and retry if we see an HTTP 401. POST requests, however, do not go through any central point. Moreover, it is difficult to retry in the general case; we cannot assume the request body fits in memory or is even seekable, and we don't know how much of it was consumed during the attempt. Most of the time, this is not a big deal; for both fetching and pushing, we make a GET request before doing any POSTs, so typically we figure out the credentials during the first request, then reuse them during the POST. However, some servers may allow a client to get the list of refs from receive-pack without authentication, and then require authentication when the client actually tries to POST the pack. This is not ideal, as the client may do a non-trivial amount of work to generate the pack (e.g., delta-compressing objects). However, for a long time it has been the recommended example configuration in git-http-backend(1) for setting up a repository with anonymous fetch and authenticated push. This setup has always been broken without putting a username into the URL. Prior to commit 986bbc0, it did work with a username in the URL, because git would prompt for credentials before making any requests at all. However, post-986bbc0, it is totally broken. Since it has been advertised in the manpage for some time, we should make sure it works. Unfortunately, it is not as easy as simply calling post_rpc again when it fails, due to the input issue mentioned above. However, we can still make this specific case work by retrying in two specific instances: 1. If the request is large (bigger than LARGE_PACKET_MAX), we will first send a probe request with a single flush packet. Since this request is static, we can freely retry it. 2. If the request is small and we are not using gzip, then we have the whole thing in-core, and we can freely retry. That means we will not retry in some instances, including: 1. If we are using gzip. However, we only do so when calling git-upload-pack, so it does not apply to pushes. 2. If we have a large request, the probe succeeds, but then the real POST wants authentication. This is an extremely unlikely configuration and not worth worrying about. While it might be nice to cover those instances, doing so would be significantly more complex for very little real-world gain. In the long run, we will be much better off when curl learns to internally handle authentication as a callback, and we can cleanly handle all cases that way. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 August 2012, 17:49:09 UTC
8809703 http: factor out http error code handling Most of our http requests go through the http_request() interface, which does some nice post-processing on the results. In particular, it handles prompting for missing credentials as well as approving and rejecting valid or invalid credentials. Unfortunately, it only handles GET requests. Making it handle POSTs would be quite complex, so let's pull result handling code into its own function so that it can be reused from the POST code paths. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 August 2012, 17:49:09 UTC
4c71009 t: test http access to "half-auth" repositories Some sites set up http access to repositories such that fetching is anonymous and unauthenticated, but pushing is authenticated. While there are multiple ways to do this, the technique advertised in the git-http-backend manpage is to block access to locations matching "/git-receive-pack$". Let's emulate that advice in our test setup, which makes it clear that this advice does not actually work. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 August 2012, 17:49:09 UTC
6ac2b3a t: test basic smart-http authentication We do not currently test authentication over smart-http at all. In theory, it should work exactly as it does for dumb http (which we do test). It does indeed work for these simple tests, but this patch lays the groundwork for more complex tests in future patches. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 August 2012, 17:49:09 UTC
666aae9 t/lib-httpd: recognize */smart/* repos as smart-http We do not currently test authentication for smart-http repos at all. Part of the infrastructure to do this is recognizing that auth/smart is indeed a smart-http repo. The current apache config recognizes only "^/smart/*" as smart-http. Let's instead treat anything with /smart/ in the URL as smart-http. This is obviously a stupid thing to do for a real production site, but for our test suite we know that our repositories will not have this magic string in the name. Note that we will route /foo/smart/bar.git directly to git-http-backend/bar.git; in other words, everything before the "/smart/" is irrelevant to finding the repo on disk (but may impact apache config, for example by triggering auth checks). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 August 2012, 17:49:09 UTC
05b5771 t/lib-httpd: only route auth/dumb to dumb repos Our test apache config points all of auth/ directly to the on-disk repositories via an Alias directive. This works fine because everything authenticated is currently in auth/dumb, which is a subset. However, this would conflict with a ScriptAlias for auth/smart (which will come in future patches), so let's narrow the Alias. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 August 2012, 17:49:08 UTC
e837936 t5550: factor out http auth setup The t5550 script sets up a nice askpass helper for simulating user input and checking what git prompted for. Let's make it available to other http scripts by migrating it to lib-httpd. We can use this immediately in t5540 to make our tests more robust (previously, we did not check at all that hitting the password-protected repo actually involved a password). Unfortunately, we end up failing the test because the current code erroneously prompts twice (once for git-remote-http, and then again when the former spawns git-http-push). More importantly, though, it will let us easily add smart-http authentication tests in t5541 and t5551; we currently do not test smart-http authentication at all. As part of making it generic, let's always look for and store auxiliary askpass files at the top-level trash directory; this makes it compatible with t5540, which runs some tests from sub-repositories. We can abstract away the ugliness with a short helper function. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 August 2012, 17:49:04 UTC
726800a t5550: put auth-required repo in auth/dumb In most of our tests, we put repos to be accessed by dumb protocols in /dumb, and repos to be accessed by smart protocols in /smart. In our test apache setup, the whole /auth hierarchy requires authentication. However, we don't bother to split it by smart and dumb here because we are not currently testing smart-http authentication at all. That will change in future patches, so let's be explicit that we are interested in testing dumb access here. This also happens to match what t5540 does for the push tests. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 August 2012, 17:49:04 UTC
45aaf03 doc: "git checkout -b/-B/--orphan" always takes a branch name While the synopsis section makes it clear that the new branch name is the parameter to these flags, the option description did not. Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 August 2012, 18:40:08 UTC
6a2abdc apply: compute patch->def_name correctly under -p0 Back when "git apply" was written, we made sure that the user can skip more than the default number of path components (i.e. 1) by giving "-p<n>", but the logic for doing so was built around the notion of "we skip N slashes and stop". This obviously does not work well when running under -p0 where we do not want to skip any, but still want to skip SP/HT that separates the pathnames of preimage and postimage and want to reject absolute pathnames. Stop using "stop_at_slash()", and instead introduce a new helper "skip_tree_prefix()" with similar logic but works correctly even for the -p0 case. This is an ancient bug, but has been masked for a long time because most of the patches are text and have other clues to tell us the name of the preimage and the postimage. Noticed by Colin McCabe. Signed-off-by: Junio C Hamano <gitster@pobox.com> 25 August 2012, 06:11:05 UTC
b521831 Prepare for 1.7.11.6 Signed-off-by: Junio C Hamano <gitster@pobox.com> 24 August 2012, 19:33:31 UTC
1103996 Merge branch 'mv/pull-r-for-rebase' into maint-1.7.11 A minor documentation update. * mv/pull-r-for-rebase: man: git pull -r is a short for --rebase 24 August 2012, 19:05:47 UTC
bdb3033 Merge branch 'jc/maint-abbrev-option-cli' into maint-1.7.11 We did not document that many commands take unique prefix abbreviations of long options (e.g. "--option" may be the only flag that the command accepts that begin with "--opt", in which case you can give "--opt") anywhere easy to find for new people. * jc/maint-abbrev-option-cli: gitcli: describe abbreviation of long options 24 August 2012, 19:05:44 UTC
7939a33 Merge branch 'jc/maint-rev-list-topo-doc' into maint-1.7.11 It was unclear what "--topo-order" was really about in the documentation. It is not just about "children before parent", but also about "don't mix lineages". * jc/maint-rev-list-topo-doc: rev-list docs: clarify --topo-order description 24 August 2012, 19:05:40 UTC
9dd8175 Merge branch 'hv/coding-guidelines' into maint-1.7.11 In earlier days, "imitate the style in the neibouring code" was sufficient to keep the coherent style, but over time some parts of the codebase have drifted enough to make it ineffective. * hv/coding-guidelines: Documentation/CodingGuidelines: spell out more shell guidelines 24 August 2012, 19:05:35 UTC
74b819a Merge branch 'jc/tag-doc' into maint-1.7.11 Our documentation used to assume having files in .git/refs/* directories was the only to have branches and tags, but that is not true for quite some time. * jc/tag-doc: Documentation: do not mention .git/refs/* directories 24 August 2012, 19:05:30 UTC
c247d76 Merge branch 'mk/test-seq' into maint-1.7.11 Add a compatibility/utility function to the test framework. * mk/test-seq: tests: Introduce test_seq 24 August 2012, 19:05:24 UTC
47bc16b Merge branch 'lp/no-cmd-http-fetch' into maint-1.7.11 * lp/no-cmd-http-fetch: builtin.h: remove unused cmd_<foo> declarations 24 August 2012, 19:05:20 UTC
3f98823 Merge branch 'bw/maint-1.7.9-solaris-getpass' into maint-1.7.11 * bw/maint-1.7.9-solaris-getpass: Enable HAVE_DEV_TTY for Solaris terminal: seek when switching between reading and writing 24 August 2012, 19:05:11 UTC
9e0833c Merge branch 'jk/maint-commit-check-committer-early' into maint-1.7.11 * jk/maint-commit-check-committer-early: commit: check committer identity more strictly 24 August 2012, 19:05:08 UTC
01d4721 Make 'git submodule update --force' always check out submodules. Currently, it will only do a checkout if the sha1 registered in the containing repository doesn't match the HEAD of the submodule, regardless of whether the submodule is dirty. As discussed on the mailing list, the '--force' flag is a strong indicator that the state of the submodule is suspect, and should be reset to HEAD. Signed-off-by: Stefan Zager <szager@google.com> Acked-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 24 August 2012, 16:00:43 UTC
f8750a0 mergetool: style fixes This script is one of the sizeable ones that tempted people to copy its "neibouring style" in their new code, but was littered with styles incompatible with our style guide. - use one tab, not four spaces, per indent level; - long lines can be wrapped after '|', '&&', or '||' for readability. - structures like "if .. then .. else .. fi", "while .. do .. done" are split into lines in such a way that does not require unnecessary semicolon. - case, esac and case-arms align at the same column. Signed-off-by: Junio C Hamano <gitster@pobox.com> 24 August 2012, 04:30:51 UTC
df1effa Make the ciabot scripts completely self-configuring in the normal case. Signed-off-by: Eric S. Raymond <esr@thyrsus.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 24 August 2012, 03:58:24 UTC
6484070 Improved documentation for the ciabot scripts. Signed-off-by: Eric S. Raymond <esr@thyrsus.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 24 August 2012, 03:58:20 UTC
003c84f specifying ranges: we did not mean to make ".." an empty set Either end of revision range operator can be omitted to default to HEAD, as in "origin.." (what did I do since I forked) or "..origin" (what did they do since I forked). But the current parser interprets ".." as an empty range "HEAD..HEAD", and worse yet, because ".." does exist on the filesystem, we get this annoying output: $ cd Documentation/howto $ git log .. ;# give me recent commits that touch Documentation/ area. fatal: ambiguous argument '..': both revision and filename Use '--' to separate filenames from revisions Surely we could say "git log ../" or even "git log -- .." to disambiguate, but we shouldn't have to. Helped-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 August 2012, 21:37:49 UTC
c142616 contrib/ciabot: Get ciabot configuration from git variables These changes remove all need to modify the ciabot scripts for installation. Instead, per-project configuration can be dome via variables in a [ciabot] section of the config file. Also, correct for the new server address. Signed-off-by: Eric S. Raymond <esr@thyrsus.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 August 2012, 18:15:43 UTC
3b51222 for-each-ref: Fix sort with multiple keys The linked list describing sort options was not correctly set up in opt_parse_sort. In the result, contrary to the documentation, only the last of multiple --sort options to git-for-each-ref was taken into account. This commit fixes it. Signed-off-by: Kacper Kornet <draenog@pld-linux.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 August 2012, 21:42:12 UTC
912072d t6300: test sort with multiple keys Documentation of git-for-each-ref says that --sort=<key> option can be used multiple times, in which case the last key becomes the primary key. However this functionality was never checked in test suite and is currently broken. This commit adds appropriate test in preparation for fix. Signed-off-by: Kacper Kornet <draenog@pld-linux.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 August 2012, 21:42:11 UTC
d1e1fe7 git-config doc: unconfuse an example One fictitious command "proxy-command" is enclosed inside a double quote pair, while another fictitious command "default-proxy" is not in the example, but the quoting does not change anything in the pair of examples. Remove the quotes to avoid unnecessary confusion. Noticed by Michael Haggerty. Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 August 2012, 23:39:35 UTC
d0714cc git-config.txt: fix example The "--add" option is required to add a new value to a multivalued configuration entry. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 August 2012, 20:44:58 UTC
743bf6d stash: invoke rerere in case of conflict "stash apply" directly calls a backend merge function which does not automatically invoke rerere. This confuses mergetool when leftover rerere state is left behind from previous merges. Invoke rerere explicitly when we encounter a conflict during stash apply. This turns the test introduced by the previous commit to succeed. Signed-off-by: Phil Hord <hordp@cisco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 August 2012, 17:59:17 UTC
79dc2d0 test: git-stash conflict sets up rerere Add a test to make sure that a conflicted "stash apply" invokes rerere to record the conflicts and resolve the the files it can (the current code doesn't, so the test is marked as failing). Without correct state recorded for rerere, mergetool may be confused, causing it to think no files have conflicts even though they do. This condition is not verified by this test since a subsequent commit will change the behavior to enable rerere for stash conflicts. Also, the next test expected us to finish up with a reset, which is impossible to do if we fail (as we must) and it's an unreasonable expectation anyway. Begin the next test with a reset of its own instead. Signed-off-by: Phil Hord <hordp@cisco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 August 2012, 17:56:19 UTC
d9aa361 man: git pull -r is a short for --rebase Letting the "--rebase" option squat on the short-and-sweet single letter option "-r" was an unintended accident and was not even documented, but the short option seems to be already used in the wild. Let's document it so that other options that begin with "r" would not be tempted to steal it. Signed-off-by: Miklos Vajna <vmiklos@suse.cz> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 August 2012, 07:26:52 UTC
9c81990 gitcli: describe abbreviation of long options Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 August 2012, 06:16:28 UTC
cd7c0be Git 1.7.11.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 August 2012, 20:39:53 UTC
d7d3b56 Merge branch 'rj/maint-grep-remove-redundant-test' into maint * rj/maint-grep-remove-redundant-test: t7810-*.sh: Remove redundant test 15 August 2012, 20:37:20 UTC
45b65a6 Merge branch 'hv/link-alt-odb-entry' into maint * hv/link-alt-odb-entry: link_alt_odb_entry: fix read over array bounds reported by valgrind 15 August 2012, 20:36:47 UTC
3f0350c rev-list docs: clarify --topo-order description It was unclear what "--topo-order" was really about in the documentation. It is not just about "children before parent", but also about "don't mix lineages". Reword the description for both "--date-order" and "--topo-order", and add an illustration to it. Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 August 2012, 20:04:20 UTC
cacfc09 gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO When gitweb is used as a DirectoryIndex, it attempts to strip PATH_INFO on its own, as $cgi->url() fails to do so. However, it fails to account for the fact that PATH_INFO has already been URL-decoded by the web server, but the value returned by $cgi->url() has not been. This causes the stripping to fail whenever the URL contains encoded characters. To see this in action, setup gitweb as a DirectoryIndex and then use it on a repository with a directory containing a space in the name. Navigate to tree view, examine the gitweb generated html and you'll see a link such as: <a href="/test.git/tree/HEAD:/directory with spaces">directory with spaces</a> When clicked on, the browser will URL-encode this link, giving a $cgi->url() of the form: /test.git/tree/HEAD:/directory%20with%20spaces While PATH_INFO is: /test.git/tree/HEAD:/directory with spaces Fix this by calling unescape() on both $my_url and $my_uri before stripping PATH_INFO from them. Signed-off-by: Jay Soffian <jaysoffian@gmail.com> Acked-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 August 2012, 18:47:43 UTC
03b05c7 Documentation/CodingGuidelines: spell out more shell guidelines In earlier days, "imitate the style in the neibouring code" was sufficient to keep the coherent style, but over time some parts of the codebase have drifted enough to make it ineffective. Spell some of the guidelines out. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 August 2012, 18:00:39 UTC
be9d0a3 Let submodule command exit with error status if path does not exist Various subcommands of the "git submodule" command exited with 0 status even though the path given by the user did not exist. The reason behind that was that they all pipe the output of module_list into the while loop which then does the action on the paths specified by the commandline. Since the exit code of the command on the upstream side of the pipe is ignored by the shell, the status code of "ls-files --error-unmatch" nor "module_list" was not propagated. In case ls-files returns with an error code, we write a special string that is not possible in non error situations, and no other output, so that the downstream can detect the error and die with an error code. The error message that there is an unmatched pathspec comes through stderr directly from ls-files. So the user still gets a hint whats going on. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 14 August 2012, 21:00:17 UTC
1af221e rebase -i: use full onto sha1 in reflog 'git rebase' uses the full onto sha1 for the reflog message whereas 'git rebase -i' uses the short sha1. This is not only inconsistent, but can lead to problems when the reflog is inspected at a later time at which that abbreviation may have become ambiguous. Make 'rebase -i' use the full onto sha1, as well. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 August 2012, 16:41:28 UTC
2542840 add tests for 'git rebase --keep-empty' Add test cases for 'git rebase --keep-empty' with and without an "empty" commit already in upstream. The empty commit that is about to be rebased should be kept in both cases. Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 09 August 2012, 17:10:45 UTC
785063e sh-setup: protect from exported IFS Many scripted Porcelains rely on being able to split words at the default $IFS characters, i.e. SP, HT and LF. If the user exports a non-default IFS to the environment, what they read from plumbing commands such as ls-files that use HT to delimit fields may not be split in the way we expect. Protect outselves by resetting it, just like we do so against CDPATH exported to the environment. Noticed by Andrew Dranse <adranse@oanda.com>. Signed-off-by: Junio C Hamano <gitster@pobox.com> 08 August 2012, 21:36:33 UTC
c2a7f5d docs: monospace listings in docbook output When asciidoc converts a listing block like: ---------------------- $ git log --merge ---------------------- it marks it to be displayed in a monospace font. This works fine when generating HTML output. However, when generating docbook output, we override the expansion of a listingblock to work around bugs in some versions of the docbook toolchain. Our override did not mark the listingblock with the "monospaced" class. The main output that uses docbook as an intermediate format is the manpages. We didn't notice any issue there because the monospaced class seems to be ignored when generating roff from the docbook manpages. However, when generating texinfo to make info pages, docbook does respect this class. The resulting texinfo output properly uses "@example" blocks to display the listing in this case. Besides possibly looking prettier in some texinfo backends, one important effect is that the monospace font suppresses texinfo's expansion of "--" and "---" into en-dashes and em-dashes. With the current code, the example above ends up looking like "git log -merge", which is confusing and wrong. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 August 2012, 21:30:52 UTC
4b7f2fa receive-pack: do not leak output from auto-gc to standard output The standard output channel of receive-pack is a structured protocol channel, and subprocesses must never be allowed to leak anything into it by writing to their standard output. Use RUN_COMMAND_STDOUT_TO_STDERR option to run_command_v_opt() just like we do when running hooks to prevent output from "gc" leaking to the standard output. Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 August 2012, 05:31:10 UTC
2c3fd4b t/t5400: demonstrate breakage caused by informational message from prune When receive-pack triggers 'git gc --auto' and 'git prune' is called to remove a stale temporary object, 'git prune' prints an informational message to stdout about the file that it will remove. Since this message is written to stdout, it is sent back over the transport channel to the git client which tries to interpret it as part of the pack protocol and then promptly terminates with a complaint about a protocol error. Introduce a test which exercises the auto-gc functionality of receive-pack and demonstrates this breakage. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 August 2012, 05:29:30 UTC
436783c Enable HAVE_DEV_TTY for Solaris Now that git_terminal_prompt can cleanly interact with /dev/tty on Solaris, enable HAVE_DEV_TTY so that this code path is used for credential reading instead of relying on the crippled getpass(). Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca> Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 August 2012, 05:12:43 UTC
67ba123 terminal: seek when switching between reading and writing When a stdio stream is opened in update mode (e.g., "w+"), the C standard forbids switching between reading or writing without an intervening positioning function. Many implementations are lenient about this, but Solaris libc will flush the recently-read contents to the output buffer. In this instance, that meant writing the non-echoed password that the user just typed to the terminal. Fix it by inserting a no-op fseek between the read and write. The opposite direction (writing followed by reading) is also disallowed, but our intervening fflush is an acceptable positioning function for that alternative. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 August 2012, 05:11:47 UTC
b17a01d Prepare for 1.7.11.5 Hopefully that will be the final 1.7.11.x maintenance release. Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 August 2012, 22:51:58 UTC
c8dacba Merge branch 'jn/block-sha1' into maint * jn/block-sha1: Makefile: BLK_SHA1 does not require fast htonl() and unaligned loads block-sha1: put expanded macro parameters in parentheses block-sha1: avoid pointer conversion that violates alignment constraints 06 August 2012, 22:40:00 UTC
dbf64e1 Merge branch 'jn/make-assembly-in-right-directory' into maint * jn/make-assembly-in-right-directory: Makefile: fix location of listing produced by "make subdir/foo.s" 06 August 2012, 22:39:38 UTC
c2e585f Merge branch 'ms/daemon-doc-typo' into maint * ms/daemon-doc-typo: Documentation/git-daemon: add missing word 06 August 2012, 22:39:16 UTC
05f5ba6 Merge branch 'lm/git-blame-el' into maint * lm/git-blame-el: git-blame.el: Do not use bare 0 to mean (point-min) git-blame.el: Use with-current-buffer where appropriate git-blame.el: Do not use goto-line in lisp code 06 August 2012, 22:37:54 UTC
125f643 Merge branch 'rs/ipv6-ssh-url' into maint * rs/ipv6-ssh-url: git: Wrong parsing of ssh urls with IPv6 literals ignores port 06 August 2012, 22:37:43 UTC
e597c43 Merge branch 'rs/git-blame-mapcar-mapc' into maint * rs/git-blame-mapcar-mapc: git-blame.el: use mapc instead of mapcar 06 August 2012, 22:37:28 UTC
809b262 Merge branch 'rr/doc-commit' into maint * rr/doc-commit: commit: document a couple of options 06 August 2012, 22:37:09 UTC
back to top