swh:1:snp:6df5a50b8107b6bbe1e51d0239d816a7503c536a

sort by:
Revision Author Date Message Commit Date
3e53891 Git 1.8.0.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 December 2012, 21:05:47 UTC
5badfdc Documentation/git-stash.txt: add a missing verb Signed-off-by: Sébastien Loriot <sloriot.ml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 December 2012, 16:18:25 UTC
ac046c0 git(1): remove a defunct link to "list of authors" The linked page has not been showing the promised "more complete list" for more than 6 months by now, and nobody has resurrected the list there nor elsewhere since then. Signed-off-by: Junio C Hamano <gitster@pobox.com> 09 December 2012, 08:33:04 UTC
a859d3e Update draft release notes to 1.8.0.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 December 2012, 22:16:38 UTC
f07f413 Merge branch 'jc/doc-push-satellite' into maint * jc/doc-push-satellite: Documentation/git-push.txt: clarify the "push from satellite" workflow 07 December 2012, 22:11:21 UTC
fff26a6 Merge branch 'jc/same-encoding' into maint Various codepaths checked if two encoding names are the same using ad-hoc code and some of them ended up asking iconv() to convert between "utf8" and "UTF-8". The former is not a valid way to spell the encoding name, but often people use it by mistake, and we equated them in some but not all codepaths. Introduce a new helper function to make these codepaths consistent. * jc/same-encoding: reencode_string(): introduce and use same_encoding() 07 December 2012, 22:10:56 UTC
6a40284 Merge branch 'lt/diff-stat-show-0-lines' into maint "git diff --stat" miscounted the total number of changed lines when binary files were involved and hidden beyond --stat-count. It also miscounted the total number of changed files when there were unmerged paths. * lt/diff-stat-show-0-lines: t4049: refocus tests diff --shortstat: do not count "unmerged" entries diff --stat: do not count "unmerged" entries diff --stat: move the "total count" logic to the last loop diff --stat: use "file" temporary variable to refer to data->files[i] diff --stat: status of unmodified pair in diff-q is not zero test: add failing tests for "diff --stat" to t4049 Fix "git diff --stat" for interesting - but empty - file changes 07 December 2012, 22:10:17 UTC
7c65b2e git-fast-import.txt: improve documentation for quoted paths The documentation mentioned only newlines and double quotes as characters needing escaping, but the backslash also needs it. Also, the documentation was not clearly saying that double quotes around the file name were required (double quotes in the examples could be interpreted as part of the sentence, not part of the actual string). Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> 29 November 2012, 19:49:51 UTC
462d97d git-remote-mediawiki: escape ", \, and LF in file names A mediawiki page can contain, and even start with a " character, we have to escape it when generating the fast-export stream, as well as \ character. While we're there, also escape newlines, but I don't think we can get them from MediaWiki pages. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> 29 November 2012, 19:16:33 UTC
de90959 t4049: refocus tests The primary thing Linus's patch wanted to change was to make sure that 0-line change appears for a mode-only change. Update the first test to chmod a file that we can see in the output (limited by --stat-count) to demonstrate it. Also make sure to use test_chmod and compare the index and the tree, so that we can run this test even on a filesystem without permission bits. Later two tests are about fixes to separate issues that were introduced and/or uncovered by Linus's patch as a side effect, but the issues are not related to mode-only changes. Remove chmod from the tests. Signed-off-by: Junio C Hamano <gitster@pobox.com> 29 November 2012, 17:46:30 UTC
93341d8 Start preparing for 1.8.0.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 November 2012, 21:40:02 UTC
1d05d1d Merge branch 'rh/maint-gitweb-highlight-ext' into maint Syntax highlighting in "gitweb" was not quite working. * rh/maint-gitweb-highlight-ext: gitweb.perl: fix %highlight_ext mappings 28 November 2012, 20:05:30 UTC
2a7f6ff Merge branch 'pw/maint-p4-rcs-expansion-newline' into maint "git p4" used to try expanding malformed "$keyword$" that spans across multiple lines. * pw/maint-p4-rcs-expansion-newline: git p4: RCS expansion should not span newlines 28 November 2012, 20:04:50 UTC
4047fec completion: add options --single-branch and --branch to "git clone" Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 November 2012, 20:01:16 UTC
b48990e Documentation/git-push.txt: clarify the "push from satellite" workflow The context of the example to push into refs/remotes/satellite/ hierarchy of the other repository needs to be spelled out explicitly for the value of this example to be fully appreciated. Make it so. Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 November 2012, 06:39:08 UTC
20c8cde diff --shortstat: do not count "unmerged" entries Fix the same issue as the previous one for "git diff --stat"; unmerged entries was doubly-counted. Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 November 2012, 22:19:36 UTC
86ef7b3 Merge branch 'nd/maint-compat-fnmatch-fix' into maint * nd/maint-compat-fnmatch-fix: compat/fnmatch: fix off-by-one character class's length check 27 November 2012, 21:29:00 UTC
ed20513 Merge branch 'jh/update-ref-d-through-symref' into maint * jh/update-ref-d-through-symref: Fix failure to delete a packed ref through a symref t1400-update-ref: Add test verifying bug with symrefs in delete_ref() 27 November 2012, 21:28:45 UTC
a7c940e Merge branch 'esr/maint-doc-fast-import' into maint * esr/maint-doc-fast-import: doc/fast-import: clarify how content states are built 27 November 2012, 21:28:31 UTC
2207e10 Merge branch 'wtk/submodule-doc-fixup' into maint * wtk/submodule-doc-fixup: git-submodule: wrap branch option with "<>" in usage strings. 27 November 2012, 21:28:18 UTC
82dfc2c diff --stat: do not count "unmerged" entries Even though we show a separate *UNMERGED* entry in the patch and diffstat output (or in the --raw format, for that matter) in addition to and separately from the diff against the specified stage (defaulting to #2) for unmerged paths, they should not be counted in the total number of files affected---that would lead to counting the same path twice. The separation done by the previous step makes this fix simple and straightforward. Among the filepairs in diff_queue, paths that weren't modified, and the extra "unmerged" entries do not count as total number of files. Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 November 2012, 21:21:15 UTC
a20d3c0 diff --stat: move the "total count" logic to the last loop The diffstat generation logic, with --stat-count limit, is implemented as three loops. - The first counts the width necessary to show stats up to specified number of entries, and notes up to how many entries in the data we need to iterate to show the graph; - The second iterates that many times to draw the graph, adjusts the number of "total modified files", and counts the total added/deleted lines for the part that was shown in the graph; - The third iterates over the remainder and only does the part to count "total added/deleted lines" and to adjust "total modified files" without drawing anything. Move the logic to count added/deleted lines and modified files from the second loop to the third loop. This incidentally fixes a bug. The third loop was not filtering binary changes (counted in bytes) from the total added/deleted as it should. The second loop implemented this correctly, so if a binary change appeared earlier than the --stat-count cutoff, the code counted number of added/deleted lines correctly, but if it appeared beyond the cutoff, the number of lines would have mixed with the byte count in the buggy third loop. Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 November 2012, 21:21:15 UTC
af0ed81 diff --stat: use "file" temporary variable to refer to data->files[i] The generated code shouldn't change but it is easier to read. Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 November 2012, 21:21:15 UTC
99bfd40 diff --stat: status of unmodified pair in diff-q is not zero It is spelled DIFF_STATUS_UNKNOWN these days, and is different from zero. Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 November 2012, 21:21:15 UTC
9667ccb test: add failing tests for "diff --stat" to t4049 There are a few problems in diff.c around --stat area, partially caused by the recent 74faaa1 (Fix "git diff --stat" for interesting - but empty - file changes, 2012-10-17), and largely caused by the earlier change that introduced when --stat-count was added. Add a few test pieces to t4049 to expose the issues. Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 November 2012, 21:21:15 UTC
6b6e063 Documentation: improve phrasing in git-push.txt The current version contains the sentence: Further suppose that the other person already pushed changes leading to A back to the original repository you two obtained the original commit X. which doesn't parse for me; I've changed it to Further suppose that the other person already pushed changes leading to A back to the original repository from which you two obtained the original commit X. Signed-off-by: Mark Szepieniec <mszepien@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 November 2012, 17:12:58 UTC
d1eded4 Fix typo in remote set-head usage parenthesis are not matching in `builtin_remote_sethead_usage` as a square bracket is closing something never opened. Signed-off-by: Antoine Pelisse <apelisse@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 November 2012, 21:27:45 UTC
cad06d4 Makefile: hide stderr of curl-config test You will get $ make distclean 2>&1 | grep curl /bin/sh: curl-config: not found /bin/sh: curl-config: not found /bin/sh: curl-config: not found /bin/sh: curl-config: not found /bin/sh: curl-config: not found $ if you don't have a curl development package installed. The intent is not to alarm the user, but just to test if there is a new enough curl installed. However, if you look at search engine suggested completions, the above "error" messages are confusing people into thinking curl is a hard requirement. Redirect this error output to /dev/null as it is not necessary to be shown to the end users. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 November 2012, 18:31:11 UTC
ed9fe75 Git 1.8.0.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 November 2012, 02:40:34 UTC
5956732 Merge branch 'jk/checkout-out-of-unborn' into maint * jk/checkout-out-of-unborn: checkout: print a message when switching unborn branches 26 November 2012, 02:35:50 UTC
ccf1bb3 Merge branch 'cn/config-missing-path' into maint * cn/config-missing-path: config: don't segfault when given --path with a missing value 26 November 2012, 02:35:46 UTC
326922f Merge branch 'jk/maint-gitweb-xss' into maint Fixes an XSS vulnerability in gitweb. * jk/maint-gitweb-xss: gitweb: escape html in rss title 26 November 2012, 02:35:41 UTC
4db42b3 Completion must sort before using uniq The user can be presented with invalid completion results when trying to complete a 'git checkout' command. This can happen when using a branch name prefix that matches multiple remote branches. For example, if available branches are: master remotes/GitHub/maint remotes/GitHub/master remotes/origin/maint remotes/origin/master When performing completion on 'git checkout ma' the user will be given the choices: maint master However, 'git checkout maint' will fail in this case, although completion previously said 'maint' was valid. Furthermore, when performing completion on 'git checkout mai', no choices will be suggested. So, the user is first told that the branch name 'maint' is valid, but when trying to complete 'mai' into 'maint', that completion is no longer valid. The completion results should never propose 'maint' as a valid branch name, since 'git checkout' will refuse it. The reason for this bug is that the uniq program only works with sorted input. The man page states "uniq prints the unique lines in a sorted file". When __git_refs uses the guess heuristic employed by checkout for tracking branches it wants to consider remote branches but only if the branch name is unique. To do that, it calls 'uniq -u'. However the input given to 'uniq -u' is not sorted. Therefore, in the above example, when dealing with 'git checkout ma', "__git_refs '' 1" will find the following list: master maint master maint master which, when passed to 'uniq -u' will remain the same. Therefore 'maint' will be wrongly suggested as a valid option. When dealing with 'git checkout mai', the list will be: maint maint which happens to be sorted and will be emptied by 'uniq -u', properly ignoring 'maint'. A solution for preventing the completion script from suggesting such invalid branch names is to first call 'sort' and then 'uniq -u'. Signed-off-by: Marc Khouzam <marc.khouzam@gmail.com> Reviewed-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 25 November 2012, 06:35:48 UTC
f10e386 compat/fnmatch: fix off-by-one character class's length check Character class "xdigit" is the only one that hits 6 character limit defined by CHAR_CLASS_MAX_LENGTH. All other character classes are 5 character long and therefore never caught by this. This should make xdigit tests in t3070 pass on Windows. Reported-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 November 2012, 20:13:09 UTC
1c03999 Further preparation for 1.8.0.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 November 2012, 18:16:14 UTC
91d0cd9 Merge branch 'mg/maint-pull-suggest-upstream-to' into maint * mg/maint-pull-suggest-upstream-to: push/pull: adjust missing upstream help text to changed interface 20 November 2012, 18:15:09 UTC
cf48960 Merge branch 'mm/maint-doc-commit-edit' into maint * mm/maint-doc-commit-edit: Document 'git commit --no-edit' explicitly 20 November 2012, 18:14:55 UTC
cdcd793 Merge branch 'as/maint-doc-fix-no-post-rewrite' into maint * as/maint-doc-fix-no-post-rewrite: commit: fixup misplacement of --no-post-rewrite description 20 November 2012, 18:14:47 UTC
c5afc5b Merge branch 'rs/lock-correct-ref-during-delete' into maint * rs/lock-correct-ref-during-delete: refs: lock symref that is to be deleted, not its target 20 November 2012, 18:14:41 UTC
e87719f Merge branch 'rf/maint-mailmap-off-by-one' into maint * rf/maint-mailmap-off-by-one: mailmap: avoid out-of-bounds memory access 20 November 2012, 18:14:29 UTC
35cae74 Merge branch 'jk/maint-diff-grep-textconv' into maint "git diff -G<pattern>" did not honor textconv filter when looking for changes. * jk/maint-diff-grep-textconv: diff_grep: use textconv buffers for add/deleted files 20 November 2012, 18:03:12 UTC
fd778c0 Merge branch 'js/format-2047' into maint Various rfc2047 quoting issues around a non-ASCII name on the From: line in the output from format-patch have been corrected. * js/format-2047: format-patch tests: check quoting/encoding in To: and Cc: headers format-patch: fix rfc2047 address encoding with respect to rfc822 specials format-patch: make rfc2047 encoding more strict format-patch: introduce helper function last_line_length() format-patch: do not wrap rfc2047 encoded headers too late format-patch: do not wrap non-rfc2047 headers too early utf8: fix off-by-one wrapping of text 20 November 2012, 17:57:44 UTC
2808f6a Start preparing for 1.8.0.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 November 2012, 03:47:19 UTC
8b56a47 Merge branch 'sz/maint-curl-multi-timeout' into maint Sometimes curl_multi_timeout() function suggested a wrong timeout value when there is no file descriptors to wait on and the http transport ended up sleeping for minutes in select(2) system call. A workaround has been added for this. * sz/maint-curl-multi-timeout: Fix potential hang in https handshake 19 November 2012, 03:44:36 UTC
b98769e Merge branch 'po/maint-refs-replace-docs' into maint The refs/replace hierarchy was not mentioned in the repository-layout docs. * po/maint-refs-replace-docs: Doc repository-layout: Show refs/replace 19 November 2012, 03:34:09 UTC
611addf Merge branch 'ph/pull-rebase-detached' into maint "git pull --rebase" run while the HEAD is detached tried to find the upstream branch of the detached HEAD (which by definition does not exist) and emitted unnecessary error messages. * ph/pull-rebase-detached: git-pull: Avoid merge-base on detached head 19 November 2012, 03:33:45 UTC
78ba7e2 Merge branch 'mm/maint-doc-remote-tracking' into maint Update "remote tracking branch" in the documentation to "remote-tracking branch". * mm/maint-doc-remote-tracking: Documentation: remote tracking branch -> remote-tracking branch 19 November 2012, 03:33:20 UTC
3a98669 Merge branch 'rs/branch-del-symref' into maint A symbolic ref refs/heads/SYM was not correctly removed with "git branch -d SYM"; the command removed the ref pointed by SYM instead. * rs/branch-del-symref: branch: show targets of deleted symrefs, not sha1s branch: skip commit checks when deleting symref branches branch: delete symref branch, not its target branch: factor out delete_branch_config() branch: factor out check_branch_commit() 19 November 2012, 03:32:58 UTC
dca5ed5 Merge branch 'nd/grep-true-path' into maint "git grep -e pattern <tree>" asked the attribute system to read "<tree>:.gitattributes" file in the working tree, which was nonsense. * nd/grep-true-path: grep: stop looking at random places for .gitattributes 19 November 2012, 03:32:30 UTC
4607a8c Merge branch 'jc/grep-pcre-loose-ends' (early part) into maint "git log -F -E --grep='<ere>'" failed to use the given <ere> pattern as extended regular expression, and instead looked for the string literally. * 'jc/grep-pcre-loose-ends' (early part): log --grep: use the same helper to set -E/-F options as "git grep" revisions: initialize revs->grep_filter using grep_init() grep: move pattern-type bits support to top-level grep.[ch] grep: move the configuration parsing logic to grep.[ch] builtin/grep.c: make configuration callback more reusable 19 November 2012, 03:32:12 UTC
6c95f53 Merge branch 'da/mergetools-p4' into maint "git mergetool" feeds /dev/null as a common ancestor when dealing with an add/add conflict, but p4merge backend cannot handle it. Work it around by passing a temporary empty file. * da/mergetools-p4: mergetools/p4merge: Handle "/dev/null" 19 November 2012, 03:31:40 UTC
3424da1 Merge branch 'jc/test-say-color-avoid-echo-escape' into maint The "say" function in the test scaffolding incorrectly allowed "echo" to interpret "\a" as if it were a C-string asking for a BEL output. * jc/test-say-color-avoid-echo-escape: test-lib: Fix say_color () not to interpret \a\b\c in the message 19 November 2012, 03:31:14 UTC
d6ecf56 Merge branch 'bw/config-lift-variable-name-length-limit' into maint The configuration parser had an unnecessary hardcoded limit on variable names that was not checked consistently. * bw/config-lift-variable-name-length-limit: Remove the hard coded length limit on variable names in config files 19 November 2012, 03:29:44 UTC
962c38e config: don't segfault when given --path with a missing value When given a variable without a value, such as '[section] var' and asking git-config to treat it as a path, git_config_pathname returns an error and doesn't modify its output parameter. show_config assumes that the call is always successful and sets a variable to indicate that vptr should be freed. In case of an error however, trying to do this will cause the program to be killed, as it's pointing to memory in the stack. Detect the error and return immediately to avoid freeing or accessing the uninitialed memory in the stack. Signed-off-by: Carlos Martín Nieto <cmn@elego.de> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 November 2012, 02:12:17 UTC
afa8c07 checkout: print a message when switching unborn branches When we switch to a new branch using checkout, we usually output a message indicating what happened. However, when we switch from an unborn branch to a new branch, we do not print anything, which may leave the user wondering what happened. The reason is that the unborn branch is a special case (see abe1998), and does not follow the usual switch_branches code path. Let's add a similar informational message to the special case to match the usual code path. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 November 2012, 01:36:26 UTC
0f0ecf6 gitweb: escape html in rss title The title of an RSS feed is generated from many components, including the filename provided as a query parameter, but we failed to quote it. Besides showing the wrong output, this is a vector for XSS attacks. Signed-off-by: Jeff King <peff@peff.net> 12 November 2012, 21:34:53 UTC
e705288 doc/fast-import: clarify how content states are built Signed-off-by: Eric S. Raymond <esr@thyrsus.com> Signed-off-by: Jeff King <peff@peff.net> 08 November 2012, 19:11:53 UTC
048b399 gitweb.perl: fix %highlight_ext mappings When commit 592ea41 refactored the list of extensions for syntax highlighting, it failed to take into account perl's operator precedence within lists. As a result, we end up creating a dictionary of one-to-one elements when the intent was to map mutliple related types to one main type (e.g., bash, ksh, zsh, and sh should all map to sh since they share similar syntax, but we ended up just mapping "bash" to "bash" and so forth). This patch adds parentheses to make the mapping as the original change intended. It also reorganizes the list to keep mapped extensions together. Signed-off-by: Richard Hubbell <richard_hubbe11@lavabit.com> Signed-off-by: Jeff King <peff@peff.net> 08 November 2012, 17:59:23 UTC
6b2bf41 git p4: RCS expansion should not span newlines This bug was introduced in cb585a9 (git-p4: keyword flattening fixes, 2011-10-16). The newline character is indeed special, and $File$ expansions should not try to match across multiple lines. Based-on-patch-by: Chris Goard <cgoard@gmail.com> Signed-off-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Jeff King <peff@peff.net> 08 November 2012, 17:46:14 UTC
a3a4391 push/pull: adjust missing upstream help text to changed interface In case of a missing upstream, the git-parse-remote script suggests: If you wish to set tracking information for this branch you can do so with: git branch --set-upstream nsiv2 origin/<branch> But --set-upstream is deprectated. Change the suggestion to: git branch --set-upstream-to=origin/<branch> nsiv2 Reported-by: Jeroen van der Ham <vdham@uva.nl> Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Jeff King <peff@peff.net> 08 November 2012, 16:32:38 UTC
0e18bcd reencode_string(): introduce and use same_encoding() Callers of reencode_string() that re-encodes a string from one encoding to another all used ad-hoc way to bypass the case where the input and the output encodings are the same. Some did strcmp(), some did strcasecmp(), yet some others when converting to UTF-8 used is_encoding_utf8(). Introduce same_encoding() helper function to make these callers use the same logic. Notably, is_encoding_utf8() has a work-around for common misconfiguration to use "utf8" to name UTF-8 encoding, which does not match "UTF-8" hence strcasecmp() would not consider the same. Make use of it in this helper function. Signed-off-by: Junio C Hamano <gitster@pobox.com> 04 November 2012, 13:10:33 UTC
77effef commit: fixup misplacement of --no-post-rewrite description In e858af6 (commit: document a couple of options) the description of the --no-post-rewrite option was put inside the paragraph for the --amend option. Move it down after the paragraph. Signed-off-by: Andreas Schwab <schwab@linux-m68k.org> Signed-off-by: Jeff King <peff@peff.net> 02 November 2012, 13:22:02 UTC
ae45320 Document 'git commit --no-edit' explicitly Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Jeff King <peff@peff.net> 02 November 2012, 11:49:28 UTC
b1c2f57 diff_grep: use textconv buffers for add/deleted files If you use "-G" to grep a diff, we will apply a configured textconv filter to the data before generating the diff. However, if the diff is an addition or deletion, we do not bother running the diff at all, and just look for the token in the added (or removed) content. This works because we know that the diff must contain every line of content. However, while we used the textconv-derived buffers in the regular diff, we accidentally passed the original unmodified buffers to regexec when checking the added or removed content. This could lead to an incorrect answer. Worse, in some cases we might have a textconv buffer but no original buffer (e.g., if we pulled the textconv data from cache, or if we reused a working tree file when generating it). In that case, we could actually feed NULL to regexec and segfault. Reported-by: Peter Oberndorfer <kumbayo84@arcor.de> Signed-off-by: Jeff King <peff@peff.net> 28 October 2012, 11:59:44 UTC
3174bc5 mailmap: avoid out-of-bounds memory access AddressSanitizer (http://clang.llvm.org/docs/AddressSanitizer.html) complains of a one-byte buffer underflow in parse_name_and_email() while running the test suite. And indeed, if one of the lines in the mailmap begins with '<', we dereference the address just before the beginning of the buffer when looking for whitespace to remove, before checking that we aren't going too far. So reverse the order of the tests to make sure that we don't read outside the buffer. Signed-off-by: Romain Francoise <romain@orebokech.com> Signed-off-by: Jeff King <peff@peff.net> 28 October 2012, 11:50:18 UTC
11fbe18 Doc repository-layout: Show refs/replace Signed-off-by: Philip Oakley <philipoakley@iee.org> Signed-off-by: Jeff King <peff@peff.net> 25 October 2012, 10:56:39 UTC
a6d3bde Documentation: remote tracking branch -> remote-tracking branch This change was already done by 0e615b252f3 (Matthieu Moy, Tue Nov 2 2010, Replace "remote tracking" with "remote-tracking"), but new instances of remote tracking (without dash) were introduced in the meantime. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Jeff King <peff@peff.net> 25 October 2012, 10:55:46 UTC
e980765 git-pull: Avoid merge-base on detached head git pull --rebase does some clever tricks to find the base for $upstream, but it forgets that we may not have any branch at all. When this happens, git merge-base reports its "usage" help in the middle of an otherwise successful rebase operation, because git-merge is called with one too few parameters. Since we do not need the merge-base trick in the case of a detached HEAD, detect this condition and bypass the clever trick and the usage noise. Signed-off-by: Phil Hord <hordp@cisco.com> Signed-off-by: Jeff King <peff@peff.net> 25 October 2012, 09:32:11 UTC
38ae92e git-submodule: wrap branch option with "<>" in usage strings. Use "-b <branch>" instead of "-b branch". This brings the usage strings in line with other options, e.g. "--reference <repository>". Signed-off-by: W. Trevor King <wking@tremily.us> Signed-off-by: Jeff King <peff@peff.net> 25 October 2012, 08:46:13 UTC
8c7a786 Git 1.8.0 Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 October 2012, 20:56:23 UTC
b274a71 Fix failure to delete a packed ref through a symref When deleting a ref through a symref (e.g. using 'git update-ref -d HEAD' to delete refs/heads/master), we would remove the loose ref, but a packed version of the same ref would remain, the end result being that instead of deleting refs/heads/master we would appear to reset it to its state as of the last repack. This patch fixes the issue, by making sure we pass the correct ref name when invoking repack_without_ref() from within delete_ref(). Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 October 2012, 19:08:42 UTC
75c96e0 t1400-update-ref: Add test verifying bug with symrefs in delete_ref() When deleting a ref through a symref (e.g. using 'git update-ref -d HEAD' to delete refs/heads/master), we currently fail to remove the packed version of that ref. This testcase demonstrates the bug. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 October 2012, 19:07:58 UTC
7202b81 Fix potential hang in https handshake It has been observed that curl_multi_timeout may return a very long timeout value (e.g., 294 seconds and some usec) just before curl_multi_fdset returns no file descriptors for reading. The upshot is that select() will hang for a long time -- long enough for an https handshake to be dropped. The observed behavior is that the git command will hang at the terminal and never transfer any data. This patch is a workaround for a probable bug in libcurl. The bug only seems to manifest around a very specific set of circumstances: - curl version (from curl/curlver.h): #define LIBCURL_VERSION_NUM 0x071307 - git-remote-https running on an ubuntu-lucid VM. - Connecting through squid proxy running on another VM. Interestingly, the problem doesn't manifest if a host connects through squid proxy running on localhost; only if the proxy is on a separate VM (not sure if the squid host needs to be on a separate physical machine). That would seem to suggest that this issue is timing-sensitive. This patch is more or less in line with a recommendation in the curl docs about how to behave when curl_multi_fdset doesn't return and file descriptors: http://curl.haxx.se/libcurl/c/curl_multi_fdset.html Signed-off-by: Stefan Zager <szager@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 October 2012, 21:15:17 UTC
13baa9f branch: show targets of deleted symrefs, not sha1s git branch reports the abbreviated hash of the head commit of a deleted branch to make it easier for a user to undo the operation. For symref branches this doesn't help. Print the symref target instead for them. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 October 2012, 21:36:17 UTC
0fe700e branch: skip commit checks when deleting symref branches Before a branch is deleted, we check that it points to a valid commit. With -d we also check that the commit is a merged; this check is not done with -D. The reason for that is that commits pointed to by branches should never go missing; if they do then something broke and it's better to stop instead of adding to the mess. And a non-merged commit may contain changes that are worth preserving, so we require the stronger option -D instead of -d to get rid of them. If a branch consists of a symref, these concerns don't apply. Deleting such a branch can't make a commit become unreferenced, so we don't need to check if it is merged, or even if it is actually a valid commit. Skip them in that case. This allows us to delete dangling symref branches. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 October 2012, 21:36:17 UTC
566c770 branch: delete symref branch, not its target If a branch that is to be deleted happens to be a symref to another branch, the current code removes the targeted branch instead of the one it was called for. Change this surprising behaviour and delete the symref branch instead. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 October 2012, 21:36:16 UTC
22ed792 branch: factor out delete_branch_config() Provide a small helper function for deleting branch config sections. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 October 2012, 21:36:16 UTC
f5d0e16 branch: factor out check_branch_commit() Move the code to perform checks on the tip commit of a branch to its own function. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 October 2012, 21:36:16 UTC
25dc8da format-patch tests: check quoting/encoding in To: and Cc: headers git-format-patch does currently not parse user supplied extra header values (e. g., --cc, --add-header) and just replays them. That forces users to add them RFC 2822/2047 conform in encoded form, e.g. --cc '=?UTF-8?q?Jan=20H=2E=20Sch=C3=B6nherr?= <...>' which is inconvenient. We would want to update git-format-patch to accept human-readable input --cc 'Jan H. Schönherr <...>' and handle the encoding, wrapping and quoting internally in the future, similar to what is already done in git-send-email. The necessary code should mostly exist in the code paths that handle the From: and Subject: headers. Whether we want to do this only for the git-format-patch options --to and --cc (and the corresponding config options) or also for user supplied headers via --add-header, is open for discussion. For now, add test_expect_failure tests for To: and Cc: headers as a reminder and fix tests that would otherwise fail should this get implemented. Signed-off-by: Jan H. Schönherr <schnhrr@cs.tu-berlin.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 October 2012, 21:24:42 UTC
41dd00b format-patch: fix rfc2047 address encoding with respect to rfc822 specials According to RFC 2047 and RFC 822, rfc2047 encoded words and and rfc822 quoted strings do not mix. Since add_rfc2047() no longer leaves RFC 822 specials behind, the quoting is also no longer necessary to create a standard-conforming mail. Remove the quoting, when RFC 2047 encoding takes place. This actually requires to refactor add_rfc2047() a bit, so that the different cases can be distinguished. With this patch, my own name gets correctly decoded as Jan H. Schönherr (without quotes) and not as "Jan H. Schönherr" (with quotes). Signed-off-by: Jan H. Schönherr <schnhrr@cs.tu-berlin.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 October 2012, 21:24:16 UTC
0fcec2c format-patch: make rfc2047 encoding more strict RFC 2047 requires more characters to be encoded than it is currently done. Especially, RFC 2047 distinguishes between allowed remaining characters in encoded words in addresses (From, To, etc.) and other headers, such as Subject. Make add_rfc2047() and is_rfc2047_special() location dependent and include all non-allowed characters to hopefully be RFC 2047 conformant. This especially fixes a problem, where RFC 822 specials (e. g. ".") were left unencoded in addresses, which was solved with a non-standard-conforming workaround in the past (which is going to be removed in a follow-up patch). Signed-off-by: Jan H. Schönherr <schnhrr@cs.tu-berlin.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 October 2012, 21:23:34 UTC
f9b7204 format-patch: introduce helper function last_line_length() Currently, an open-coded loop to calculate the length of the last line of a string buffer is used in multiple places. Move that code into a function of its own. Signed-off-by: Jan H. Schönherr <schnhrr@cs.tu-berlin.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 October 2012, 21:23:29 UTC
94f6cdf format-patch: do not wrap rfc2047 encoded headers too late Encoded characters add more than one character at once to an encoded header. Include all characters that are about to be added in the length calculation for wrapping. Additionally, RFC 2047 imposes a maximum line length of 76 characters if that line contains an rfc2047 encoded word. Signed-off-by: Jan H. Schönherr <schnhrr@cs.tu-berlin.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 October 2012, 21:23:19 UTC
7a76e68 format-patch: do not wrap non-rfc2047 headers too early Do not wrap the second and later lines of non-rfc2047-encoded headers substantially before the 78 character limit. Instead of passing the remaining length of the first line as wrapping width, use the correct maximum length and tell strbuf_add_wrapped_bytes() how many characters of the first line are already used. Signed-off-by: Jan H. Schönherr <schnhrr@cs.tu-berlin.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 October 2012, 21:23:12 UTC
14e1a4e utf8: fix off-by-one wrapping of text The wrapping logic in strbuf_add_wrapped_text() does currently not allow lines that entirely fill the allowed width, instead it wraps the line one character too early. For example, the text "This is the sixth commit." formatted via "%w(11,1,2)" (wrap at 11 characters, 1 char indent of first line, 2 char indent of following lines) results in four lines: " This is", " the", " sixth", " commit." This is wrong, because " the sixth" is exactly 11 characters long, and thus allowed. Fix this by allowing the (width+1) character of a line to be a valid wrapping point if it is a whitespace character. Signed-off-by: Jan H. Schönherr <schnhrr@cs.tu-berlin.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 October 2012, 21:20:49 UTC
8ead1bf Merge tag 'gitgui-0.17.0' of git://repo.or.cz/git-gui git-gui 0.17.0 * tag 'gitgui-0.17.0' of git://repo.or.cz/git-gui: git-gui 0.17 git-gui: Don't prepend the prefix if value looks like a full path git-gui: Detect full path when parsing arguments git-gui: remove .git/CHERRY_PICK_HEAD after committing git-gui: Fix a loose/lose mistake git-gui: Fix semi-working shortcuts for unstage and revert git-gui: de.po: translate "remote" as "extern" git-gui: de.po: translate "bare" as "bloß" git-gui: de.po: consistently add untranslated hook names within braces git-gui: preserve commit messages in utf-8 git-gui: open console when using --trace on windows git-gui: fix a typo in po/ files git-gui: Use PWD if it exists on Mac OS X git-gui: fix git-gui crash due to uninitialized variable 17 October 2012, 22:55:46 UTC
f6dd784 git-gui 0.17 Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net> 17 October 2012, 20:57:29 UTC
df46eda git-gui: Don't prepend the prefix if value looks like a full path When argument parsing fails to detect a file name, "git-gui" will try to use the previously detected "head" as the file name. We should avoid prepending the prefix if "head" looks like a full path. Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net> 17 October 2012, 20:47:50 UTC
e3d06ca git-gui: Detect full path when parsing arguments When running "git-gui blame" from a subfolder (which means prefix is non-empty), if we pass a full path as argument, the argument parsing will fail to recognize the argument as a file name, because prefix is prepended to the argument. This patch handles that scenario by adding an additional branch that checks the file name without using the prefix. Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net> 17 October 2012, 20:47:49 UTC
74faaa1 Fix "git diff --stat" for interesting - but empty - file changes The behavior of "git diff --stat" is rather odd for files that have zero lines of changes: it will discount them entirely unless they were renames. Which means that the stat output will simply not show files that only had "other" changes: they were created or deleted, or their mode was changed. Now, those changes do show up in the summary, but so do renames, so the diffstat logic is inconsistent. Why does it show renames with zero lines changed, but not mode changes or added files with zero lines changed? So change the logic to not check for "is_renamed", but for "is_interesting" instead, where "interesting" is judged to be any action but a pure data change (because a pure data change with zero data changed really isn't worth showing, if we ever get one in our diffpairs). So if you did chmod +x Makefile git diff --stat before, it would show empty (" 0 files changed"), with this it shows Makefile | 0 1 file changed, 0 insertions(+), 0 deletions(-) which I think is a more correct diffstat (and then with "--summary" it shows *what* the metadata change to Makefile was - this is completely consistent with our handling of renamed files). Side note: the old behavior was *really* odd. With no changes at all, "git diff --stat" output was empty. With just a chmod, it said "0 files changed". No way is our legacy behavior sane. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 October 2012, 18:50:50 UTC
87a5461 Git 1.8.0-rc3 Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 October 2012, 17:39:44 UTC
3d0a2d6 Merge git://github.com/git-l10n/git-po * git://github.com/git-l10n/git-po: l10n: vi.po: update from v1.8.0-rc2-4-g42e55 l10n: Update Swedish translation (1964t0f0u) 17 October 2012, 17:37:40 UTC
d2bfef2 Sync with 1.7.12.4 17 October 2012, 17:37:32 UTC
7e20105 Git 1.7.12.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 October 2012, 17:36:42 UTC
e98fa64 Merge branch 'jk/maint-http-half-auth-push' into maint * jk/maint-http-half-auth-push: http: fix segfault in handle_curl_result 17 October 2012, 17:29:24 UTC
5a77ff7 Merge branch 'rr/git-uri-doc' into maint * rr/git-uri-doc: Git url doc: mark ftp/ftps as read-only and deprecate them 17 October 2012, 17:28:56 UTC
c15fada Merge branch 'bw/cp-a-is-gnuism' into maint * bw/cp-a-is-gnuism: tests: "cp -a" is a GNUism 17 October 2012, 17:28:48 UTC
530d710 Merge branch 'nd/doc-ignore' into maint * nd/doc-ignore: gitignore.txt: suggestions how to get literal # or ! at the beginning 17 October 2012, 17:28:42 UTC
352611f Merge branch 'jc/doc-long-options' into maint * jc/doc-long-options: gitcli: parse-options lets you omit tail of long options 17 October 2012, 17:28:34 UTC
26c21f8 Merge branch 'jc/maint-t1450-fsck-order-fix' into maint * jc/maint-t1450-fsck-order-fix: t1450: the order the objects are checked is undefined 17 October 2012, 17:28:19 UTC
back to top