swh:1:snp:6df5a50b8107b6bbe1e51d0239d816a7503c536a

sort by:
Revision Author Date Message Commit Date
304b7d9 Git 1.7.12.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 September 2012, 21:34:31 UTC
39e2e02 Merge branch 'er/doc-fast-import-done' into maint * er/doc-fast-import-done: fast-import: document the --done option 18 September 2012, 21:33:52 UTC
8ffc331 Merge branch 'jk/config-warn-on-inaccessible-paths' into maint The attribute system may be asked for a path that itself or its leading directories no longer exists in the working tree, and it is fine if we cannot open .gitattribute file in such a case. Failure to open per-directory .gitattributes with error status other than ENOENT and ENOTDIR should be diagnosed. * jk/config-warn-on-inaccessible-paths: attr: failure to open a .gitattributes file is OK with ENOTDIR warn_on_inaccessible(): a helper to warn on inaccessible paths attr: warn on inaccessible attribute files gitignore: report access errors of exclude files config: warn on inaccessible files 18 September 2012, 21:24:06 UTC
01f7d7f Doc: Improve shallow depth wording Avoid confusion in compound sentence about the start of the commit set and the depth measure. Use two sentences. Signed-off-by: Philip Oakley <philipoakley@iee.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 September 2012, 20:35:56 UTC
8093ae8 Documentation/git-filter-branch: Move note about effect of removing commits The note that explains that changes introduced by removed commits are preserved should be placed directly after the paragraph that describes such commits removal. Otherwise the reference to "the commits" appears out of context. Also the big example that follows "Consider this history" is about rewriting part of the history DAG. Move the paragraph that describes the operation close to it. Signed-off-by: Andreas Schwab <schwab@linux-m68k.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 September 2012, 19:51:58 UTC
5805853 t/perf: add "trash directory" to .gitignore Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 September 2012, 21:27:55 UTC
d9fcff2 Add missing -z to git check-attr usage text for consistency with man page Signed-off-by: Adam Spiers <git@adamspiers.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 September 2012, 20:45:32 UTC
6108b04 git-jump: ignore (custom) prefix in diff mode Matching the default file prefix b/ does not yield any results if config option diff.noprefix or diff.mnemonicprefix is enabled. Signed-off-by: Mischa POSLAWSKY <git@shiar.nl> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 September 2012, 19:31:57 UTC
2ce4fee Documentation: indent-with-non-tab uses "equivalent tabs" not 8 Update the documentation of the core.whitespace option "indent-with-non-tab" to correctly reflect that it catches the use of spaces instead of the equivalent tabs, rather than a fixed number. Signed-off-by: Wesley J. Landaker <wjl@icecavern.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 September 2012, 17:23:21 UTC
7dd9ab0 completion: add --no-edit to git-commit Signed-off-by: Yacine Belkadi <yacine.belkadi.1@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 September 2012, 05:05:07 UTC
d4d39bc Draft release notes to 1.7.12.1 We are almost there... Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 September 2012, 04:37:51 UTC
c13a5ac Merge branch 'sb/send-email-reconfirm-fix' into maint * sb/send-email-reconfirm-fix: send-email: initial_to and initial_reply_to are both optional 15 September 2012, 04:32:07 UTC
448e370 Merge branch 'jc/send-email-reconfirm' into maint * jc/send-email-reconfirm: send-email: validate & reconfirm interactive responses 15 September 2012, 04:32:01 UTC
78ed88d Merge branch 'mz/cherry-pick-cmdline-order' into maint * mz/cherry-pick-cmdline-order: cherry-pick/revert: respect order of revisions to pick demonstrate broken 'git cherry-pick three one two' teach log --no-walk=unsorted, which avoids sorting 15 September 2012, 04:24:18 UTC
c336bc1 Sync with 1.7.11.7 15 September 2012, 04:20:40 UTC
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
8e950da attr: failure to open a .gitattributes file is OK with ENOTDIR Often we consult an in-tree .gitattributes file that exists per directory. Majority of directories do not usually have such a file, and it is perfectly fine if we cannot open it because there is no such file, but we do want to know when there is an I/O or permission error. Earlier, we made the codepath warn when we fail to open it for reasons other than ENOENT for that reason. We however sometimes have to attempt to open the .gitattributes file from a directory that does not exist in the commit that is currently checked out. "git pack-objects" wants to know if a path is marked with "-delta" attributes, and "git archive" wants to know about export-ignore and export-subst attributes. Both commands may and do need to ask the attributes system about paths in an arbitrary commit. "git diff", after removing an entire directory, may want to know textconv on paths that used to be in that directory. Make sure we also ignore a failure to open per-directory attributes file due to ENOTDIR. Signed-off-by: Junio C Hamano <gitster@pobox.com> 14 September 2012, 05:15:10 UTC
e70d163 Further merging in preparation for 1.7.12.1 Describe the following in the draft release notes: . jc/apply-binary-p0 . jc/dotdot-is-parent-directory . jc/maint-doc-checkout-b-always-takes-branch-name . jk/maint-http-half-auth-push . kk/maint-for-each-ref-multi-sort Yet to be merged before 1.7.12.1 are: . jk/config-warn-on-inaccessible-paths . jk/maint-quiet-is-synonym-to-s-in-log . mz/cherry-pick-cmdline-order Signed-off-by: Junio C Hamano <gitster@pobox.com> 12 September 2012, 21:12:48 UTC
3503e9a Merge branch 'maint-1.7.11' into maint 12 September 2012, 21:08:05 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
cbd6b08 Further merging down for 1.7.12.1 We will wait for a handful of other fixes that have graduated to the 'master' for 1.8.0 to be tested in the wild and then tag 1.7.12.1: . mz/cherry-pick-cmdline-order . jk/maint-quiet-is-synonym-to-s-in-log . jk/maint-http-half-auth-push . jc/apply-binary-p0 . jk/config-warn-on-inaccessible-paths . kk/maint-for-each-ref-multi-sort Signed-off-by: Junio C Hamano <gitster@pobox.com> 11 September 2012, 18:27:35 UTC
1c88a6d Sync with 1.7.11.6 Signed-off-by: Junio C Hamano <gitster@pobox.com> 11 September 2012, 18:23:54 UTC
3119084 Merge branch 'js/use-sc-open-max' into maint * js/use-sc-open-max: sha1_file.c: introduce get_max_fd_limit() helper 11 September 2012, 18:23:06 UTC
2332834 Merge branch 'js/no-curl-easy-strerror-on-old-curl' into maint * js/no-curl-easy-strerror-on-old-curl: http.c: don't use curl_easy_strerror prior to curl-7.12.0 11 September 2012, 18:22:58 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
8bc72fc Merge branch 'rr/precompose-utf8-cleanup' into maint * rr/precompose-utf8-cleanup: precompose-utf8: do not call checks for non-ascii "utf8" cleanup precompose_utf8 11 September 2012, 18:07:14 UTC
59d7cbd Merge branch 'jc/capabilities' into maint * jc/capabilities: fetch-pack: mention server version with verbose output parse_feature_request: make it easier to see feature values fetch-pack: do not ask for unadvertised capabilities do not send client agent unless server does first send-pack: fix capability-sending logic include agent identifier in capability string 11 September 2012, 18:06:45 UTC
2af6d98 Merge branch 'jc/doc-git-updates' into maint * jc/doc-git-updates: Documentation: update the introductory section 11 September 2012, 18:06:19 UTC
1e51ae8 Merge branch 'jk/check-docs-update' into maint * jk/check-docs-update: check-docs: get documented command list from Makefile check-docs: drop git-help special-case check-docs: list git-gui as a command check-docs: factor out command-list command-list: mention git-credential-* helpers command-list: add git-sh-i18n check-docs: update non-command documentation list check-docs: mention gitweb specially 11 September 2012, 18:06:14 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
6508d03 Merge branch 'jc/test-prereq' into maint * jc/test-prereq: t3910: use the UTF8_NFD_TO_NFC test prereq test-lib: provide UTF8 behaviour as a prerequisite t0050: use the SYMLINKS test prereq t0050: use the CASE_INSENSITIVE_FS test prereq test-lib: provide case insensitivity as a prerequisite test: allow prerequisite to be evaluated lazily test: rename $satisfied to $satisfied_prereq 11 September 2012, 17:51:58 UTC
23193cf Start preparing for 1.7.12.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 September 2012, 22:39:15 UTC
f56d036 Merge branch 'bc/prune-info' into maint "git prune" without "-v" used to warn about leftover temporary files (which is an indication of an earlier aborted operation). * bc/prune-info: prune.c: only print informational message in show_only or verbose mode 10 September 2012, 22:37:37 UTC
e3f2675 Merge branch 'maint-1.7.11' into maint * maint-1.7.11: Almost 1.7.11.6 gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO rebase -i: use full onto sha1 in reflog sh-setup: protect from exported IFS receive-pack: do not leak output from auto-gc to standard output t/t5400: demonstrate breakage caused by informational message from prune setup: clarify error messages for file/revisions ambiguity send-email: improve RFC2047 quote parsing 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:31:06 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
6183749 send-email: initial_to and initial_reply_to are both optional We may pick up additional recipients from the format-patch output files we are sending, in which case it is perfectly valid to leave the @initial_to empty when the prompt asks. We may want to start a new discussion thread without replying to anything, and it is valid to leave $initial_reply_to empty. An earlier update to avoid y@example.com stuffed in address fields did not take these two cases into account. Signed-off-by: Stephen Boyd <bebarino@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 September 2012, 23:18:12 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
a73e22e cherry-pick/revert: respect order of revisions to pick When giving multiple individual revisions to cherry-pick or revert, as in 'git cherry-pick A B' or 'git revert B A', one would expect them to be picked/reverted in the order given on the command line. They are instead ordered by their commit timestamp -- in chronological order for "cherry-pick" and in reverse chronological order for "revert". This matches the order in which one would usually give them on the command line, making this bug somewhat hard to notice. Still, it has been reported at least once before [1]. It seems like the chronological sorting happened by accident because the revision walker has traditionally always sorted commits in reverse chronological order when rev_info.no_walk was enabled. In the case of 'git revert B A' where B is newer than A, this sorting is a no-op. For 'git cherry-pick A B', the sorting would reverse the arguments, but because the sequencer also flips the rev_info.reverse flag when picking (as opposed to reverting), the end result is a chronological order. The rev_info.reverse flag was probably flipped so that the revision walker emits B before C in 'git cherry-pick A..C'; that it happened to effectively undo the unexpected sorting done when not walking, was probably a coincidence that allowed this bug to happen at all. Fix the bug by telling the revision walker not to sort the commits when not walking. The only case we want to reverse the order is now when cherry-picking and walking revisions (rev_info.no_walk = 0). [1] http://thread.gmane.org/gmane.comp.version-control.git/164794 Signed-off-by: Martin von Zweigbergk <martinvonz@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 30 August 2012, 21:00:23 UTC
d023c24 demonstrate broken 'git cherry-pick three one two' Cherry-picking commits out of order (w.r.t. commit time stamp) doesn't currently work. Add a test case to demonstrate it. Signed-off-by: Martin von Zweigbergk <martinvonz@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 30 August 2012, 21:00:18 UTC
ca92e59 teach log --no-walk=unsorted, which avoids sorting When 'git log' is passed the --no-walk option, no revision walk takes place, naturally. Perhaps somewhat surprisingly, however, the provided revisions still get sorted by commit date. So e.g 'git log --no-walk HEAD HEAD~1' and 'git log --no-walk HEAD~1 HEAD' give the same result (unless the two revisions share the commit date, in which case they will retain the order given on the command line). As the commit that introduced --no-walk (8e64006 (Teach revision machinery about --no-walk, 2007-07-24)) points out, the sorting is intentional, to allow things like git log --abbrev-commit --pretty=oneline --decorate --all --no-walk to show all refs in order by commit date. But there are also other cases where the sorting is not wanted, such as <command producing revisions in order> | git log --oneline --no-walk --stdin To accomodate both cases, leave the decision of whether or not to sort up to the caller, by allowing --no-walk={sorted,unsorted}, defaulting to 'sorted' for backward-compatibility reasons. Signed-off-by: Martin von Zweigbergk <martinvonz@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 30 August 2012, 19:26:50 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
871e293 Merge branch 'maint-1.7.11' into maint * maint-1.7.11: Prepare for 1.7.11.6 Make the ciabot scripts completely self-configuring in the normal case. Improved documentation for the ciabot scripts. man: git pull -r is a short for --rebase gitcli: describe abbreviation of long options rev-list docs: clarify --topo-order description Documentation/CodingGuidelines: spell out more shell guidelines Documentation: do not mention .git/refs/* directories tests: Introduce test_seq 24 August 2012, 19:34:19 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
a078826 sha1_file.c: introduce get_max_fd_limit() helper Not all platforms have getrlimit(), but there are other ways to see the maximum number of files that a process can have open. If getrlimit() is unavailable, fall back to sysconf(_SC_OPEN_MAX) if available, and use OPEN_MAX from <limits.h>. Signed-off-by: Joachim Schmitz <jojo@schmitz-digital.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 24 August 2012, 16:46:01 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
back to top