ded6aa6 | Kirill Brilliantov | 01 January 2013, 13:54:44 UTC | Documentation: correct example restore from bundle Because the bundle created in the example does not record HEAD, "git clone" will not check out the files to the working tree: $ git clone pr.bundle q/ Cloning into 'q'... Receiving objects: 100% (619/619), 13.52 MiB | 18.74 MiB/s, done. Resolving deltas: 100% (413/413), done. warning: remote HEAD refers to nonexistent ref, unable to checkout. Avoid alarming the readers by adding "-b master" to the example. A better fix may be to arrange the bundle created in the earlier step to record HEAD, so that it can be cloned without this workaround. Signed-off-by: Brilliantov Kirill Vladimirovich <brilliantov@inbox.ru> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 January 2013, 20:43:02 UTC |
5d41784 | Junio C Hamano | 31 December 2012, 22:24:22 UTC | Git 1.8.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 December 2012, 22:25:57 UTC |
9bcbb1c | Junio C Hamano | 28 December 2012, 23:29:31 UTC | merge --no-edit: do not credit people involved in the side branch The credit lines "By" and "Via" to credit authors and committers for their contributions on the side branch are meant as a hint to the integrator to decide whom to mention in the log message text. After the integrator saves the message in the editor, they are meant to go away and that is why they are commented out. When a merge is recorded without editing the generated message, however, its contents do not go through the normal stripspace() and these lines are left in the merge. Stop producing them when we know the merge is going to be recorded without editing, i.e. when --no-edit is given. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 December 2012, 23:44:44 UTC |
d16ece2 | Aaron Schrab | 28 December 2012, 23:03:06 UTC | Use longer alias names in subdirectory tests When testing aliases in t/t1020-subdirectory.sh use longer names so that they're less likely to conflict with a git-* command somewhere in the $PATH. I have a git-ss command in my path which prevents the 'ss' alias from being used. This command will always fail for git.git, causing the test to fail. Even if the command succeeded, that would be a false success for the test since the alias wasn't actually used. A longer, more descriptive name will make it much less likely that somebody has a command in their $PATH which will shadow the alias created for the test. While here, use a longer name for the 'test' alias as well since that is also short and meaningful enough to make it not unlikely that somebody would have a command in their $PATH which will shadow that as well. Signed-off-by: Aaron Schrab <aaron@schrab.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 December 2012, 23:11:48 UTC |
95f95c9 | Eric S. Raymond | 28 December 2012, 16:20:25 UTC | Remove the suggestion to use parsecvs, which is currently broken. The parsecvs code has been neglected for a long time, and the only public version does not even build correctly. I have been handed control of the project and intend to fix this, but until I do it cannot be recommended. Also, the project URL given for Subversion needed to be updated to follow their site move. Signed-off-by: Eric S. Raymond <esr@thyrsus.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 December 2012, 19:35:32 UTC |
3b73c7d | Junio C Hamano | 28 December 2012, 00:00:07 UTC | Merge branch 'so/prompt-command' Finishing touches... * so/prompt-command: make __git_ps1 accept a third parameter in pcmode | 28 December 2012, 00:00:07 UTC |
1b800f8 | Junio C Hamano | 27 December 2012, 23:59:42 UTC | Sync with 1.8.0.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 December 2012, 23:59:42 UTC |
1599999 | Junio C Hamano | 27 December 2012, 23:57:20 UTC | Git 1.8.0.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 December 2012, 23:57:20 UTC |
6ecc01f | Junio C Hamano | 12 December 2012, 18:06:24 UTC | git(1): show link to contributor summary page We earlier removed a link to list of contributors that pointed to a defunct page; let's use a working one from Ohloh.net to replace it instead. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 December 2012, 23:40:09 UTC |
2b05d9f | Junio C Hamano | 27 December 2012, 23:38:34 UTC | Merge branch 'sl/maint-git-svn-docs' into maint * sl/maint-git-svn-docs: git-svn: Note about tags. git-svn: Expand documentation for --follow-parent git-svn: Recommend use of structure options. git-svn: Document branches with at-sign(@). | 27 December 2012, 23:38:34 UTC |
008c208 | Sebastian Leske | 23 November 2012, 07:29:38 UTC | git-svn: Note about tags. Document that 'git svn' will import SVN tags as branches. Signed-off-by: Sebastian Leske <sebastian.leske@sleske.name> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 December 2012, 23:38:26 UTC |
197a80d | Sebastian Leske | 30 November 2012, 07:16:30 UTC | git-svn: Expand documentation for --follow-parent Describe what the option --follow-parent does, and what happens if it is set or unset. Signed-off-by: Sebastian Leske <sebastian.leske@sleske.name> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 December 2012, 23:38:26 UTC |
91583a6 | Sebastian Leske | 30 November 2012, 07:16:30 UTC | git-svn: Recommend use of structure options. Document that when using git svn, one should usually either use the directory structure options to import branches as branches, or only import one subdirectory. The default behaviour of cloning all branches and tags as subdirectories in the working copy is usually not what the user wants. Signed-off-by: Sebastian Leske <sebastian.leske@sleske.name> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 December 2012, 23:38:26 UTC |
d658835 | Sebastian Leske | 30 November 2012, 07:16:30 UTC | git-svn: Document branches with at-sign(@). git svn sometimes creates branches with an at-sign in the name (branchname@revision). These branches confuse many users and it is a FAQ why they are created. Document when git svn creates them. Signed-off-by: Sebastian Leske <sebastian.leske@sleske.name> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 December 2012, 23:38:26 UTC |
4017edc | Junio C Hamano | 27 December 2012, 23:34:37 UTC | Merge branch 'gb/maint-doc-svn-log-window-size' into maint * branch 'gb/maint-doc-svn-log-window-size': Document git-svn fetch --log-window-size parameter | 27 December 2012, 23:34:37 UTC |
8c6bda0 | Junio C Hamano | 27 December 2012, 23:32:27 UTC | Merge branch 'km/maint-doc-git-reset' into maint * branch 'km/maint-doc-git-reset': doc: git-reset: make "<mode>" optional | 27 December 2012, 23:32:27 UTC |
6cf9614 | Max Horn | 27 November 2012, 23:03:21 UTC | git-remote-helpers.txt: document invocation before input format In the distant past, the order things were documented was 'Invocation', 'Commands', 'Capabilities', ... Then it was decided that before giving a list of Commands, there should be an overall description of the 'Input format', which was a wise decision. However, this description was put as the very first thing, with the rationale that any implementor would want to know that first. However, it seems an implementor would actually first need to know how the remote helper will be invoked, so moving 'Invocation' to the front again seems logical. Moreover, we now don't switch from discussing the input format to the invocation style and then back to input related stuff. Signed-off-by: Max Horn <max@quendi.de> Acked-by: Sverre Rabbelier <srabbelier@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 December 2012, 23:30:14 UTC |
0a1b59e | Junio C Hamano | 27 December 2012, 23:27:46 UTC | Merge branch 'jk/avoid-mailto-invalid-in-doc' into maint * jk/avoid-mailto-invalid-in-doc: Documentation: don't link to example mail addresses | 27 December 2012, 23:27:46 UTC |
4f96f1f | Junio C Hamano | 27 December 2012, 23:24:51 UTC | Merge branch 'tj/maint-doc-commit-sign' into maint * branch 'tj/maint-doc-commit-sign': Add -S, --gpg-sign option to manpage of "git commit" | 27 December 2012, 23:25:03 UTC |
0b830ac | Ramkumar Ramachandra | 13 November 2012, 15:42:44 UTC | Documentation: move diff.wordRegex from config.txt to diff-config.txt 19299a8 (Documentation: Move diff.<driver>.* from config.txt to diff-config.txt, 2011-04-07) moved the diff configuration options to diff-config.txt, but forgot about diff.wordRegex, which was left behind in config.txt. Fix this. Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 December 2012, 23:21:46 UTC |
0a85441 | Thomas Ackermann | 27 December 2012, 14:15:52 UTC | Remove Documentation/pt_BR/gittutorial.txt This file is rather outdated and IMHO shouldn't be there in the first place. (If there are translations of the Git documentation they are better be kept separate from the original documentation.) Signed-off-by: Thomas Ackermann <th.acker@arcor.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 December 2012, 16:42:33 UTC |
126b596 | Simon Oosthoek | 26 December 2012, 19:15:05 UTC | make __git_ps1 accept a third parameter in pcmode The optional third parameter when __git_ps1 is used in PROMPT_COMMAND mode as format string for printf to further customize the way the git status string is embedded in the user's PS1 prompt. Signed-off-by: Simon Oosthoek <s.oosthoek@xs4all.nl> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 December 2012, 19:52:36 UTC |
8666df0 | Junio C Hamano | 25 December 2012, 01:09:49 UTC | t9200: let "cvs init" create the test repository Some platforms (e.g. NetBSD 6.0) seem to configure their CVS to allow "cvs init" in an existing directory only to members of "cvsadmin". Instead of preparing an empty directory and then running "cvs init" on it, let's run "cvs init" and let it create the necessary directory. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 December 2012, 01:42:07 UTC |
86c3e6e | Junio C Hamano | 23 December 2012, 04:40:07 UTC | Merge branch 'maint' | 23 December 2012, 04:40:07 UTC |
c2999ad | Junio C Hamano | 23 December 2012, 04:38:07 UTC | Merge branch 'jc/doc-diff-blobs' into maint * jc/doc-diff-blobs: Documentation: Describe "git diff <blob> <blob>" separately | 23 December 2012, 04:38:07 UTC |
a7b5e91 | Junio C Hamano | 23 December 2012, 04:38:02 UTC | Merge branch 'cr/doc-checkout-branch' into maint * cr/doc-checkout-branch: Documentation/git-checkout.txt: document 70c9ac2 behavior Documentation/git-checkout.txt: clarify usage | 23 December 2012, 04:38:02 UTC |
2b19658 | Junio C Hamano | 23 December 2012, 04:37:42 UTC | Merge branch 'ta/api-index-doc' into maint * ta/api-index-doc: Remove misleading date from api-index-skel.txt | 23 December 2012, 04:37:42 UTC |
ffcd76b | Junio C Hamano | 23 December 2012, 04:37:33 UTC | Merge branch 'as/doc-for-devs' into maint * as/doc-for-devs: Documentation: move support for old compilers to CodingGuidelines SubmittingPatches: add convention of prefixing commit messages | 23 December 2012, 04:37:33 UTC |
e970ec3 | Junio C Hamano | 23 December 2012, 04:37:27 UTC | Merge branch 'sl/readme-gplv2' into maint * sl/readme-gplv2: README: it does not matter who the current maintainer is README: Git is released under the GPLv2, not just "the GPL" | 23 December 2012, 04:37:27 UTC |
21b3401 | Junio C Hamano | 23 December 2012, 04:37:22 UTC | Merge branch 'jc/fetch-tags-doc' into maint * jc/fetch-tags-doc: fetch --tags: clarify documentation | 23 December 2012, 04:37:22 UTC |
df54d59 | Junio C Hamano | 23 December 2012, 04:37:09 UTC | Merge branch 'nd/index-format-doc' into maint * nd/index-format-doc: index-format.txt: clarify what is "invalid" | 23 December 2012, 04:37:09 UTC |
ccc3ae7 | Junio C Hamano | 23 December 2012, 04:36:42 UTC | Merge branch 'jk/mailmap-cleanup' into maint * jk/mailmap-cleanup: contrib: update stats/mailmap script .mailmap: normalize emails for Linus Torvalds .mailmap: normalize emails for Jeff King .mailmap: fix broken entry for Martin Langhoff .mailmap: match up some obvious names/emails | 23 December 2012, 04:36:42 UTC |
66afe50 | Junio C Hamano | 23 December 2012, 04:35:34 UTC | Merge branch 'ta/doc-cleanup' into maint * ta/doc-cleanup: Documentation: build html for all files in technical and howto Documentation/howto: convert plain text files to asciidoc Documentation/technical: convert plain text files to asciidoc Change headline of technical/send-pack-pipeline.txt to not confuse its content with content from git-send-pack.txt Shorten two over-long lines in git-bisect-lk2009.txt by abbreviating some sha1 Split over-long synopsis in git-fetch-pack.txt into several lines | 23 December 2012, 04:35:34 UTC |
854dfda | Thomas Ackermann | 22 December 2012, 18:34:27 UTC | Sort howto documents in howto-index.txt Howto documents in howto-index.txt were listed in a rather random order. So better sort them. Signed-off-by: Thomas Ackermann <th.acker@arcor.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 December 2012, 04:26:56 UTC |
248a884 | Michael Schubert | 22 December 2012, 14:46:02 UTC | git-subtree: fix typo in manpage Signed-off-by: Michael Schubert <mschub@elegosoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 December 2012, 04:21:48 UTC |
f228dad | Michael Schubert | 22 December 2012, 14:45:40 UTC | git-subtree: ignore git-subtree executable Signed-off-by: Michael Schubert <mschub@elegosoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 December 2012, 04:21:26 UTC |
b3cf6f3 | Junio C Hamano | 22 December 2012, 19:48:47 UTC | Git 1.8.1-rc3 The changes since -rc2 are mostly documentation updates. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 December 2012, 19:48:47 UTC |
b10c4ad | Junio C Hamano | 21 December 2012, 23:19:25 UTC | Merge branch 'ta/new-command-howto' * ta/new-command-howto: Move ./technical/api-command.txt to ./howto/new-command.txt | 21 December 2012, 23:19:25 UTC |
814a192 | Junio C Hamano | 21 December 2012, 23:19:13 UTC | Merge branch 'jc/doc-diff-blobs' "git diff <blob> <blob>" was not documented and was only hinted as an extension to "git diff <commit> <commit> -- <pathspec>", but comparison between two blobs are more special than that. It does not take any pathspec to begin with. * jc/doc-diff-blobs: Documentation: Describe "git diff <blob> <blob>" separately | 21 December 2012, 23:19:13 UTC |
51bf6be | Junio C Hamano | 21 December 2012, 23:19:08 UTC | Merge branch 'cr/doc-checkout-branch' Document the magic "git checkout <no-such-branch>" hack to create local branch out of a remote tracking branch that hasn't been documented so far. * cr/doc-checkout-branch: Documentation/git-checkout.txt: document 70c9ac2 behavior Documentation/git-checkout.txt: clarify usage | 21 December 2012, 23:19:08 UTC |
6600dcb | Junio C Hamano | 21 December 2012, 23:19:04 UTC | Merge branch 'ta/api-index-doc' * ta/api-index-doc: Remove misleading date from api-index-skel.txt | 21 December 2012, 23:19:04 UTC |
53096bf | Junio C Hamano | 21 December 2012, 23:18:57 UTC | Merge branch 'jk/avoid-mailto-invalid-in-doc' Avoids invalid sample e-mail addresses from becoming mailto links in the formatted output. * jk/avoid-mailto-invalid-in-doc: Documentation: don't link to example mail addresses | 21 December 2012, 23:18:57 UTC |
c2c6a70 | Junio C Hamano | 21 December 2012, 23:18:47 UTC | Merge branch 'as/doc-for-devs' It might be a better idea to move the text the bottom one adds to the extended description from the quick checklist part. * as/doc-for-devs: Documentation: move support for old compilers to CodingGuidelines SubmittingPatches: add convention of prefixing commit messages | 21 December 2012, 23:18:47 UTC |
19b4520 | Junio C Hamano | 21 December 2012, 23:18:41 UTC | Merge branch 'sl/readme-gplv2' Clarify that the project as a whole is GPLv2 only, with some parts borrowed under different licenses that are compatible with GPLv2. * sl/readme-gplv2: README: it does not matter who the current maintainer is README: Git is released under the GPLv2, not just "the GPL" | 21 December 2012, 23:18:41 UTC |
73cf1b5 | Junio C Hamano | 21 December 2012, 23:18:35 UTC | Merge branch 'jc/fetch-tags-doc' "git fetch --tags" was explained as if it were "git fetch --no-no-tags", which is not the case, causing confusion. * jc/fetch-tags-doc: fetch --tags: clarify documentation | 21 December 2012, 23:18:35 UTC |
d34ccd6 | Junio C Hamano | 21 December 2012, 23:18:31 UTC | Merge branch 'nd/index-format-doc' * nd/index-format-doc: index-format.txt: clarify what is "invalid" | 21 December 2012, 23:18:32 UTC |
80c78e1 | Junio C Hamano | 21 December 2012, 23:18:27 UTC | Merge branch 'sl/git-svn-docs' * sl/git-svn-docs: git-svn: Note about tags. git-svn: Expand documentation for --follow-parent git-svn: Recommend use of structure options. git-svn: Document branches with at-sign(@). | 21 December 2012, 23:18:27 UTC |
675a0fe | Junio C Hamano | 21 December 2012, 23:18:20 UTC | Merge branch 'jk/mailmap-cleanup' Update various entries in our .mailmap file. * jk/mailmap-cleanup: contrib: update stats/mailmap script .mailmap: normalize emails for Linus Torvalds .mailmap: normalize emails for Jeff King .mailmap: fix broken entry for Martin Langhoff .mailmap: match up some obvious names/emails | 21 December 2012, 23:18:20 UTC |
81670e9 | Thomas Ackermann | 21 December 2012, 18:05:28 UTC | Move ./technical/api-command.txt to ./howto/new-command.txt The contents of this document does not describe any particular API, but is more about the way to add a new command, which belongs to the "How To" section of the documentation suite. Signed-off-by: Thomas Ackermann <th.acker@arcor.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 December 2012, 18:35:53 UTC |
75e9a40 | Rene Bredlau | 21 December 2012, 16:31:19 UTC | http.c: Avoid username prompt for certifcate credentials If sslCertPasswordProtected is set to true do not ask for username to decrypt rsa key. This question is pointless, the key is only protected by a password. Internaly the username is simply set to "". Signed-off-by: Rene Bredlau <git@unrelated.de> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 December 2012, 18:19:40 UTC |
b3f1280 | Jeff King | 21 December 2012, 08:04:49 UTC | refs: do not use cached refs in repack_without_ref When we delete a ref that is packed, we rewrite the whole packed-refs file and simply omit the ref that no longer exists. However, we base the rewrite on whatever happens to be in our refs cache, not what is necessarily on disk. That opens us up to a race condition if another process is simultaneously packing the refs, as we will overwrite their newly-made pack-refs file with our potentially stale data, losing commits. You can demonstrate the race like this: # setup some repositories git init --bare parent && (cd parent && git config core.logallrefupdates true) && git clone parent child && (cd child && git commit --allow-empty -m base) # in one terminal, repack the refs repeatedly cd parent && while true; do git pack-refs --all done # in another terminal, simultaneously push updates to # master, and create and delete an unrelated ref cd child && while true; do git push origin HEAD:newbranch && git commit --allow-empty -m foo us=`git rev-parse master` && git push origin master && git push origin :newbranch && them=`git --git-dir=../parent rev-parse master` && if test "$them" != "$us"; then echo >&2 "$them" != "$us" exit 1 fi done In many cases the two processes will conflict over locking the packed-refs file, and the deletion of newbranch will simply fail. But eventually you will hit the race, which happens like this: 1. We push a new commit to master. It is already packed (from the looping pack-refs call). We write the new value (let us call it B) to $GIT_DIR/refs/heads/master, but the old value (call it A) remains in the packed-refs file. 2. We push the deletion of newbranch, spawning a receive-pack process. Receive-pack advertises all refs to the client, causing it to iterate over each ref; it caches the packed refs in memory, which points at the stale value A. 3. Meanwhile, a separate pack-refs process is running. It runs to completion, updating the packed-refs file to point master at B, and deleting $GIT_DIR/refs/heads/master which also pointed at B. 4. Back in the receive-pack process, we get the instruction to delete :newbranch. We take a lock on packed-refs (which works, as the other pack-refs process has already finished). We then rewrite the contents using the cached refs, which contain the stale value A. The resulting packed-refs file points master once again at A. The loose ref which would override it to point at B was deleted (rightfully) in step 3. As a result, master now points at A. The only trace that B ever existed in the parent is in the reflog: the final entry will show master moving from A to B, even though the ref still points at A (so you can detect this race after the fact, because the next reflog entry will move from A to C). We can fix this by invalidating the packed-refs cache after we have taken the lock. This means that we will re-read the packed-refs file, and since we have the lock, we will be sure that what we read will be atomically up-to-date when we write (it may be out of date with respect to loose refs, but that is OK, as loose refs take precedence). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 December 2012, 16:10:22 UTC |
18499ba | Thomas Ackermann | 19 December 2012, 18:15:25 UTC | Remove duplicate entry in ./Documentation/Makefile Signed-off-by: Thomas Ackermann <th.acker@arcor.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 December 2012, 18:24:23 UTC |
38104ca | Junio C Hamano | 19 December 2012, 16:54:25 UTC | compat/fnmatch: update old-style definition to ANSI We try to avoid touching borrowed code, but we encourage people to write without old-style definition and compile with -Werror these days, and on platforms that need to use NO_FNMATCH, these three functions make the compilation fail. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 December 2012, 18:20:59 UTC |
5a02966 | Junio C Hamano | 19 December 2012, 04:41:15 UTC | t9020: use configured Python to run the test helper The test helper svnrdump_sim.py is used as "svnrdump" during the execution of this test, but the arrangement was not optimal: - it relied on symbolic links; - unportable "export VAR=VAL" was used; - GIT_BUILD_DIR variable was not quoted correctly; - it assumed that the Python interpreter is in /usr/bin/ and called "python" (i.e. not "python2.7" etc.) Rework this by writing a small shell script that spawns the right Python interpreter, using the right quoting. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 December 2012, 15:46:59 UTC |
2d3ac9a | Junio C Hamano | 19 December 2012, 02:47:50 UTC | t3600: Avoid "cp -a", which is a GNUism With d4a7ffa (tests: "cp -a" is a GNUism, 2012-10-08), we got rid of most of them, but the ones in a topic that was still in flight were missed. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 December 2012, 15:46:44 UTC |
ecd3e2f | Junio C Hamano | 19 December 2012, 15:46:05 UTC | Merge branch 'jc/maint-test-portability' into 'jc/test-portability' * jc/maint-test-portability: t4014: fix arguments to grep t9502: do not assume GNU tar t0200: "locale" may not exist | 19 December 2012, 15:46:05 UTC |
27f6342 | Junio C Hamano | 19 December 2012, 03:13:30 UTC | t4014: fix arguments to grep These "expect-failure" tests were not looking for the right string in the patch file. For example: grep "^ *"S. E. Cipient" <scipient@example.com>\$" patch5 was looking for "^ *S." in these three files: "E." "Cipient <scipient@example.com>$" "patch5" With some implementations of grep, the lack of file "E." was reported as an error, leading to the failure of the test. With other implementations of grep, the pattern "^ *S." matched what was in patch5, without diagnosing the missing files as an error, and made these tests unexpectedly pass. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 December 2012, 15:45:13 UTC |
2060ed5 | Junio C Hamano | 19 December 2012, 04:57:13 UTC | t9502: do not assume GNU tar The check_snapshot function makes sure that no cruft outside the repository hierarchy is added to the tar archive. The output from "tar tf" on the resulting archive is inspected to see if there is anything that does not begin with "$prefix/". There are two issues with this implementation: - Traditional tar implemenations that do not understand pax_global_header will write it out as if it is a plain file at the top-level; - Some implementations of tar do not add trailing slash when showing a directory entry (i.e. the output line for the entire archive will show "$prefix", not "$prefix/"). Fix them so that what we want to validate can be tested with traditional tar implementations. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 December 2012, 15:44:29 UTC |
7b90363 | Junio C Hamano | 19 December 2012, 06:44:56 UTC | t0200: "locale" may not exist On systems without "locale" installed, t0200-gettext-basic.sh leaked error messages when checking if some test locales are available. Hide them, as they are not very useful. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 December 2012, 15:44:20 UTC |
252f922 | Junio C Hamano | 18 December 2012, 23:35:01 UTC | Merge branch 'maint' * maint: t7004: do not create unneeded gpghome/gpg.conf when GPG is not used | 18 December 2012, 23:35:01 UTC |
f7be59b | Junio C Hamano | 18 December 2012, 20:51:35 UTC | xmkstemp(): avoid showing truncated template more carefully Some implementations of xmkstemp() leaves the given in/out buffer truncated when they return with failure. 6cf6bb3 (Improve error messages when temporary file creation fails, 2010-12-18) attempted to show the real filename we tried to create (but failed), and if that is not available due to such truncation, to show the original template that was given by the caller. But it failed to take into account that the given template could have "directory/" in front, in which case the truncation point may not be template[0] but somewhere else. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 December 2012, 21:02:33 UTC |
bd52900 | Junio C Hamano | 18 December 2012, 19:35:28 UTC | Documentation: Describe "git diff <blob> <blob>" separately As it was not a common operation, it was described as if it is a side note for the more common two-commit variant, but this mode behaves very differently, e.g. it does not make any sense to ask recursive behaviour, or give the command a pathspec. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 December 2012, 19:35:28 UTC |
086cb91 | Junio C Hamano | 18 December 2012, 19:26:24 UTC | t7004: do not create unneeded gpghome/gpg.conf when GPG is not used These tests themselves are properly protected by the GPG prerequisite, but one of the set-up steps outside the test_expect_success block unconditionally assumed that there is a gpghome/ directory, which is not true if GPG is not being used. It may be a good idea to move the whole set-up steps in the test but that is a follow-up topic. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 December 2012, 19:26:24 UTC |
00bb437 | Chris Rorvick | 17 December 2012, 06:45:02 UTC | Documentation/git-checkout.txt: document 70c9ac2 behavior Document the behavior implemented in 70c9ac2 (DWIM "git checkout frotz" to "git checkout -b frotz origin/frotz"). Signed-off-by: Chris Rorvick <chris@rorvick.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 December 2012, 19:07:44 UTC |
e1cdf63 | Chris Rorvick | 17 December 2012, 06:45:01 UTC | Documentation/git-checkout.txt: clarify usage The forms of checkout that do not take a path are lumped together in the DESCRIPTION section, but the description for this group is dominated by explanation of the -b|-B form. Split these apart for more clarity. Signed-off-by: Chris Rorvick <chris@rorvick.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 December 2012, 19:04:52 UTC |
b7cd0c9 | Junio C Hamano | 18 December 2012, 18:51:22 UTC | Sync with 'maint' | 18 December 2012, 18:51:22 UTC |
8e8c881 | Junio C Hamano | 18 December 2012, 18:50:07 UTC | Merge branch 'jk/pickaxe-textconv' into maint "git log -p -S<string>" now looks for the <string> after applying the textconv filter (if defined); earlier it inspected the contents of the blobs without filtering. | 18 December 2012, 18:50:07 UTC |
31d66aa | Sitaram Chamarty | 18 December 2012, 10:47:09 UTC | clarify -M without % symbol in diff-options Signed-off-by: Sitaram Chamarty <sitaramc@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 December 2012, 16:46:15 UTC |
94bc671 | Jean-Noël AVILA | 08 December 2012, 20:04:39 UTC | Add directory pattern matching to attributes The manpage of gitattributes says: "The rules how the pattern matches paths are the same as in .gitignore files" and the gitignore pattern matching has a pattern ending with / for directory matching. This rule is specifically relevant for the 'export-ignore' rule used for git archive. Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 December 2012, 06:07:23 UTC |
e9263e4 | Sven Strickroth | 18 December 2012, 00:28:48 UTC | git-svn, perl/Git.pm: extend and use Git->prompt method for querying users git-svn reads usernames and other user queries from an interactive terminal. This cause GUIs (w/o STDIN connected) to hang waiting forever for git-svn to complete (http://code.google.com/p/tortoisegit/issues/detail?id=967). This change extends the Git::prompt helper, so that it can also be used for non password queries, and makes use of it instead of using hand-rolled prompt-response code that only works with the interactive terminal. Signed-off-by: Sven Strickroth <email@cs-ware.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 December 2012, 01:21:26 UTC |
8f3cab2 | Sven Strickroth | 18 December 2012, 00:28:47 UTC | perl/Git.pm: Honor SSH_ASKPASS as fallback if GIT_ASKPASS is not set If GIT_ASKPASS environment variable is not set, git-svn does not try to use SSH_ASKPASS as git-core does. This change adds a fallback to SSH_ASKPASS. Signed-off-by: Sven Strickroth <email@cs-ware.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 December 2012, 01:21:24 UTC |
38ecf3a | Sven Strickroth | 18 December 2012, 00:28:45 UTC | git-svn, perl/Git.pm: add central method for prompting passwords git-svn reads passwords from an interactive terminal or by using GIT_ASKPASS helper tool. This cause GUIs (w/o STDIN connected) to hang waiting forever for git-svn to complete (http://code.google.com/p/tortoisegit/issues/detail?id=967). Commit 56a853b62c0ae7ebaad0a7a0a704f5ef561eb795 also tried to solve this issue, but was incomplete as described above. Instead of using hand-rolled prompt-response code that only works with the interactive terminal, a reusable prompt() method is introduced in this commit. Signed-off-by: Sven Strickroth <email@cs-ware.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 December 2012, 01:21:22 UTC |
a26fd03 | Adam Spiers | 16 December 2012, 19:36:00 UTC | Documentation: move support for old compilers to CodingGuidelines The "Try to be nice to older C compilers" text is clearly a guideline to be borne in mind whilst coding rather than when submitting patches. Signed-off-by: Adam Spiers <git@adamspiers.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 December 2012, 02:30:53 UTC |
6a5b649 | Adam Spiers | 16 December 2012, 19:35:59 UTC | SubmittingPatches: add convention of prefixing commit messages Conscientious newcomers to git development will read SubmittingPatches and CodingGuidelines, but could easily miss the convention of prefixing commit messages with a single word identifying the file or area the commit touches. Signed-off-by: Adam Spiers <git@adamspiers.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 December 2012, 02:30:50 UTC |
f430ed8 | John Keeping | 16 December 2012, 14:00:29 UTC | Documentation: don't link to example mail addresses Email addresses in documentation are converted into mailto: hyperlinks in the HTML output and footnotes in man pages. This isn't desirable for cases where the address is used as an example and is not valid. Particularly annoying is the example "jane@laptop.(none)" which appears in git-shortlog(1) as "jane@laptop[1].(none)", with note 1 saying: 1. jane@laptop mailto:jane@laptop Fix this by escaping these email addresses with a leading backslash, to prevent Asciidoc expanding them as inline macros. In the case of mailmap.txt, render the address monospaced so that it matches the block examples surrounding that paragraph. Helped-by: Jeff King <peff@peff.net> Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 December 2012, 01:59:07 UTC |
a041c9c | Thomas Ackermann | 16 December 2012, 08:42:49 UTC | Remove misleading date from api-index-skel.txt Signed-off-by: Thomas Ackermann <th.acker@arcor.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 December 2012, 19:57:41 UTC |
eec3e7e | Nguyễn Thái Ngọc Duy | 16 December 2012, 04:15:28 UTC | cache-tree: invalidate i-t-a paths after generating trees Intent-to-add entries used to forbid writing trees so it was not a problem. After commit 3f6d56d (commit: ignore intent-to-add entries instead of refusing - 2012-02-07), we can generate trees from an index with i-t-a entries. However, the commit forgets to invalidate all paths leading to i-t-a entries. With fully valid cache-tree (e.g. after commit or write-tree), diff operations may prefer cache-tree to index and not see i-t-a entries in the index, because cache-tree does not have them. Reported-by: Jonathon Mah <me@JonathonMah.com> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 December 2012, 07:04:22 UTC |
3cf773e | Nguyễn Thái Ngọc Duy | 16 December 2012, 04:15:27 UTC | cache-tree: fix writing cache-tree when CE_REMOVE is present entry_count is used in update_one() for two purposes: 1. to skip through the number of processed entries in in-memory index 2. to record the number of entries this cache-tree covers on disk Unfortunately when CE_REMOVE is present these numbers are not the same because CE_REMOVE entries are automatically removed before writing to disk but entry_count is not adjusted and still counts CE_REMOVE entries. Separate the two use cases into two different variables. #1 is taken care by the new field count in struct cache_tree_sub and entry_count is prepared for #2. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 December 2012, 07:04:22 UTC |
386cc8b | Nguyễn Thái Ngọc Duy | 16 December 2012, 04:15:26 UTC | cache-tree: replace "for" loops in update_one with "while" loops The loops in update_one can be increased in two different ways: step by one for files and by <n> for directories. "for" loop is not suitable for this as it always steps by one and special handling is required for directories. Replace them with "while" loops for clarity. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 December 2012, 07:04:22 UTC |
dbc3904 | Nguyễn Thái Ngọc Duy | 16 December 2012, 04:15:25 UTC | cache-tree: remove dead i-t-a code in verify_cache() This code is added in 331fcb5 (git add --intent-to-add: do not let an empty blob be committed by accident - 2008-11-28) to forbid committing when i-t-a entries are present. When we allow that, we forgot to remove this. Noticed-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 December 2012, 07:04:21 UTC |
71ce415 | Junio C Hamano | 16 December 2012, 06:24:10 UTC | README: it does not matter who the current maintainer is The audience of this introductory document does not have to know nor interact with the maintainer, so drop the mention of him. Other documents such as SubmittingPatches may be a more suitable place to have it. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 December 2012, 06:24:10 UTC |
779d7e9 | Stefano Lattarini | 14 December 2012, 15:37:47 UTC | README: Git is released under the GPLv2, not just "the GPL" And this is clearly stressed by Linus in the COPYING file. So make it clear in the README as well, to avoid possible misunderstandings. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 December 2012, 06:22:53 UTC |
2e90029 | Junio C Hamano | 15 December 2012, 19:19:02 UTC | Git 1.8.1-rc2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 December 2012, 19:19:02 UTC |
6853975 | Jeff King | 15 December 2012, 17:46:43 UTC | completion: complete refs for "git commit -c" The "-c" and "-C" options take an existing commit, so let's complete refs, just as we would for --squash or --fixup. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 December 2012, 18:48:06 UTC |
fef1196 | Thomas Ackermann | 15 December 2012, 08:29:07 UTC | Renumber list in api-command.txt Start list with 1 instead of 0; ASCIIDOC will renumber it anyway. Signed-off-by: Thomas Ackermann <th.acker@arcor.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 December 2012, 18:46:47 UTC |
bfae342 | Jeff King | 14 December 2012, 22:11:44 UTC | remote-testsvn: fix unitialized variable In remote-test-svn, there is a parse_rev_note function to parse lines of the form "Revision-number" from notes. If it finds such a line and parses it, it returns 0, copying the value into a "struct rev_note". If it finds an entry that is garbled or out of range, it returns -1 to signal an error. However, if it does not find any "Revision-number" line at all, it returns success but does not put anything into the rev_note. So upon a successful return, the rev_note may or may not be initialized, and the caller has no way of knowing. gcc does not usually catch the use of the unitialized variable because the conditional assignment happens in a separate function from the point of use. However, when compiling with -O3, gcc will inline parse_rev_note and notice the problem. We can fix it by returning "-1" when no note is found (so on a zero return, we always found a valid value). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 December 2012, 18:43:11 UTC |
f0cb2f1 | Junio C Hamano | 14 December 2012, 00:19:45 UTC | fetch --tags: clarify documentation Explain that --tags is just like another explicit refspec on the command line and as such overrides the default refspecs configured via the remote.$name.fetch variable. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 December 2012, 00:19:45 UTC |
790c83c | Junio C Hamano | 13 December 2012, 19:13:56 UTC | Merge branch 'maint' | 13 December 2012, 19:13:56 UTC |
bdd478d | Matthew Daley | 13 December 2012, 13:36:30 UTC | Fix sizeof usage in get_permutations Currently it gets the size of an otherwise unrelated, unused variable instead of the expected struct size. Signed-off-by: Matthew Daley <mattjd@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 December 2012, 19:13:44 UTC |
538d123 | Junio C Hamano | 13 December 2012, 19:00:15 UTC | Merge branch 'mh/doc-remote-helpers' * mh/doc-remote-helpers: git-remote-helpers.txt: clarify options & ref list attributes git-remote-helpers.txt: clarify command <-> capability correspondences git-remote-helpers.txt: rearrange description of capabilities git-remote-helpers.txt: minor grammar fix git-remote-helpers.txt: document missing capabilities git-remote-helpers.txt: document invocation before input format | 13 December 2012, 19:00:15 UTC |
75940a0 | Manlio Perillo | 13 December 2012, 17:57:19 UTC | git.txt: add missing info about --git-dir command-line option Unlike other environment variables (e.g. GIT_WORK_TREE, GIT_NAMESPACE), the Documentation/git.txt file did not mention that the GIT_DIR environment variable can also be set using the --git-dir command line option. Signed-off-by: Manlio Perillo <manlio.perillo@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 December 2012, 18:54:01 UTC |
4a6385f | Nguyễn Thái Ngọc Duy | 13 December 2012, 01:14:47 UTC | index-format.txt: clarify what is "invalid" A cache-tree entry with a negative entry count is considered invalid by the current Git; it records that we do not know the object name of a tree that would result by writing the directory covered by the cache-tree as a tree object. Clarify that any entry with a negative entry count is invalid, but the implementations must write -1 there. This way, we can later decide to allow writers to use negative values other than -1 to encode optional information on such invalidated entries without harming interoperability; we do not know what will be encoded and how, so we keep these other negative values as reserved for now. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 December 2012, 18:12:25 UTC |
24a62db | Junio C Hamano | 12 December 2012, 18:06:24 UTC | git(1): show link to contributor summary page We earlier removed a link to list of contributors that pointed to a defunct page; let's use a working one from Ohloh.net to replace it instead. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2012, 19:58:17 UTC |
53474eb | Jeff King | 12 December 2012, 11:41:41 UTC | contrib: update stats/mailmap script This version changes quite a few things: 1. The original parsed the mailmap file itself, and it did it wrong (it did not understand entries with an extra email key). Instead, this version uses git's "%aE" and "%aN" formats to have git perform the mapping, meaning we do not have to read .mailmap at all, but still operate on the current state that git sees (and it also works properly from subdirs). 2. The original would find multiple names for an email, but not the other way around. This version can do either or both. If we find multiple emails for a name, the resolution is less obvious than the other way around. However, it can still be a starting point for a human to investigate. 3. The original would order only by count, not by recency. This version can do either. Combined with showing the counts, it can be easier to decide how to resolve. 4. This version shows similar entries in a blank-delimited stanza, which makes it more clear which options you are picking from. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2012, 19:09:11 UTC |
0e23064 | Jeff King | 12 December 2012, 11:41:04 UTC | .mailmap: normalize emails for Linus Torvalds Linus used a lot of different per-machine email addresses in the early days. This means that "git shortlog -nse" does not aggregate his counts, and he is listed well below where he should be (8th instead of 3rd). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2012, 19:09:11 UTC |
c4878fd | Jeff King | 12 December 2012, 11:38:26 UTC | .mailmap: normalize emails for Jeff King I never meant anything special by using my @github.com address; it is merely a mistake that it has sometimes bled through to patches. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2012, 19:09:11 UTC |
32d979e | Jeff King | 12 December 2012, 11:38:06 UTC | .mailmap: fix broken entry for Martin Langhoff Commit adc3192 (Martin Langhoff has a new e-mail address, 2010-10-05) added a mailmap entry, but forgot that both the old and new email addresses need to appear for one to be mapped to the other (i.e., we do not key mailmap emails by name). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2012, 19:09:11 UTC |
055e578 | Jeff King | 12 December 2012, 11:36:35 UTC | .mailmap: match up some obvious names/emails This patch updates git's .mailmap in cases where multiple names are matched to a single email. The "master" name for each email was chosen by: 1. If the only difference is in the presence or absence of accented characters, the accented form is chosen (under the assumption that it is the natural spelling, and accents are sometimes stripped in email). 2. Otherwise, the most commonly used name is chosen. 3. If all names are equally common, the most recently used name is chosen. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2012, 19:09:11 UTC |
4881616 | Junio C Hamano | 12 December 2012, 19:08:13 UTC | Merge branch 'so/prompt-command' * so/prompt-command: git-prompt.sh: update PROMPT_COMMAND documentation | 12 December 2012, 19:08:13 UTC |
de29a7a | Junio C Hamano | 11 December 2012, 23:04:36 UTC | git-prompt.sh: update PROMPT_COMMAND documentation The description of __git_ps1 function operating in two-arg mode was not very clear. It said "set PROMPT_COMMAND=__git_ps1" which is not the right usage for this mode, followed by "To customize the prompt, do this", giving a false impression that those who do not want to customize it can get away with no-arg form, which was incorrect. Make it clear that this mode always takes two arguments, pre and post, with an example. The straight-forward one should be listed as the primary usage, and the confusing one should be an alternate for advanced users. Swap the order of these two. Acked-by: Simon Oosthoek <s.oosthoek@xs4all.nl> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2012, 19:07:48 UTC |