https://github.com/git/git

sort by:
Revision Author Date Message Commit Date
8d141a1 Git 1.7.11.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 11 July 2012, 19:59:41 UTC
b700086 Merge branch 'jc/maint-blame-unique-abbrev' into maint "git blame" did not try to make sure that the abbreviated commit object names in its output are unique. * jc/maint-blame-unique-abbrev: blame: compute abbreviation width that ensures uniqueness 11 July 2012, 19:58:28 UTC
2e1e8ef Merge branch 'rj/platform-pread-may-be-thread-unsafe' into maint On Cygwin, the platform pread(2) is not thread safe, just like our own compat/ emulation, and cannot be used in the index-pack program. Makefile variable NO_THREAD_SAFE_PREAD can be defined to avoid use of this function in a threaded program. * rj/platform-pread-may-be-thread-unsafe: index-pack: Disable threading on cygwin 11 July 2012, 19:57:28 UTC
36c5109 Merge branch 'th/diff-no-index-fixes' into maint "git diff --no-index" did not correctly handle relative paths and did not correctly give exit codes when run under "--quiet" option. * th/diff-no-index-fixes: diff-no-index: exit(1) if 'diff --quiet <repo file> <external file>' finds changes diff: handle relative paths in no-index 11 July 2012, 19:48:44 UTC
4ac01b0 Merge branch 'nd/clone-single-fix' into maint "git clone --single-branch" to clone a single branch did not limit the cloning to the specified branch. * nd/clone-single-fix: clone: fix ref selection in --single-branch --branch=xxx 11 July 2012, 19:48:29 UTC
c8382c1 Merge branch 'jc/rev-list-simplify-merges-first-parent' into maint When "git log" gets "--simplify-merges/by-decoration" together with "--first-parent", the combination of these options makes the simplification logic to use in-core commit objects that haven't been examined for relevance, either producing incorrect result or taking too long to produce any output. Teach the simplification logic to ignore commits that the first-parent traversal logic ignored when both are in effect to work around the issue. * jc/rev-list-simplify-merges-first-parent: revision: ignore side parents while running simplify-merges revision: note the lack of free() in simplify_merges() revision: "simplify" options imply topo-order sort 11 July 2012, 19:46:57 UTC
a101eb4 Merge branch 'hv/submodule-update-nuke-submodules' into maint "git add" allows adding a regular file to the path where a submodule used to exist, but "git update-index" did not allow an equivalent operation to Porcelain writers. * hv/submodule-update-nuke-submodules: update-index: allow overwriting existing submodule index entries 11 July 2012, 19:46:31 UTC
95c9eb8 Merge branch 'jk/diff-no-index-pager' into maint "git diff --no-index" did not work with pagers correctly. * jk/diff-no-index-pager: do not run pager with diff --no-index --quiet fix pager.diff with diff --no-index 11 July 2012, 19:46:21 UTC
9ca7249 Merge branch 'mm/verify-filename-fix' into maint "git diff COPYING HEAD:COPYING" gave a nonsense error message that claimed that the treeish HEAD did not have COPYING in it. * mm/verify-filename-fix: verify_filename(): ask the caller to chose the kind of diagnosis sha1_name: do not trigger detailed diagnosis for file arguments 11 July 2012, 19:45:49 UTC
a0ceb72 Merge branch 'cn/cherry-pick-range-docs' into maint The documentation for "git cherry-pick A B..C" was misleading. * cn/cherry-pick-range-docs: git-cherry-pick.txt: clarify the use of revision range notation Documentation: --no-walk is no-op if range is specified 11 July 2012, 19:45:34 UTC
cf04a66 Merge branch 'jc/ustar-checksum-is-unsigned' into maint "git archive" incorrectly computed the header checksum; the symptom was observed only when using pathnames with hi-bit set. * jc/ustar-checksum-is-unsigned: archive: ustar header checksum is computed unsigned 11 July 2012, 19:45:07 UTC
e49bf52 Merge branch 'jc/bundle-complete-notice' into maint Running "git bundle verify" on a bundle that records a complete history said "it requires these 0 commits". * jc/bundle-complete-notice: tweak "bundle verify" of a complete history 11 July 2012, 19:44:50 UTC
cd733f4 Merge branch 'jc/ls-files-i-dir' into maint "git ls-files --exclude=t -i" did not consider anything under t/ as excluded, as it did not pay attention to exclusion of leading paths while walking the index. Other two users of excluded() are also updated. * jc/ls-files-i-dir: dir.c: make excluded() file scope static unpack-trees.c: use path_excluded() in check_ok_to_remove() builtin/add.c: use path_excluded() path_excluded(): update API to less cache-entry centric ls-files -i: micro-optimize path_excluded() ls-files -i: pay attention to exclusion of leading paths 11 July 2012, 19:44:35 UTC
fb60f34 Merge branch 'jc/request-pull-match-tagname' into maint "git request-pull $url dev" when the tip of "dev" branch was tagged with "ext4-for-linus" used the contents from the tag in the output but still asked the "dev" branch to be pulled, not the tag. * jc/request-pull-match-tagname: request-pull: really favor a matching tag 11 July 2012, 19:43:58 UTC
3b942e9 Merge branch 'maint' of git://github.com/git-l10n/git-po into maint Update Swedish translation (1066t0f0u) 02 July 2012, 22:36:52 UTC
b31272f blame: compute abbreviation width that ensures uniqueness Julia Lawall noticed that in linux-next repository the commit object 60d5c9f5 (shown with the default abbreviation width baked into "git blame") in output from $ git blame -L 3675,3675 60d5c9f5b -- \ drivers/staging/brcm80211/brcmfmac/wl_iw.c is no longer unique in the repository, which results in "short SHA1 60d5c9f5 is ambiguous". Compute the minimum abbreviation width that ensures uniqueness when the user did not specify the --abbrev option to avoid this. Signed-off-by: Junio C Hamano <gitster@pobox.com> 02 July 2012, 07:54:19 UTC
16b1830 Update Swedish translation (1066t0f0u) Signed-off-by: Peter Krefting <peter@softwolves.pp.se> 01 July 2012, 22:04:09 UTC
c0f8654 index-pack: Disable threading on cygwin The Cygwin implementation of pread() is not thread-safe since, just like the emulation provided by compat/pread.c, it uses a sequence of seek-read-seek calls. In order to avoid failues due to thread-safety issues, commit b038a61 disables threading when NO_PREAD is defined. (ie when using the emulation code in compat/pread.c). We introduce a new build variable, NO_THREAD_SAFE_PREAD, which allows use to disable the threaded index-pack code on cygwin, in addition to the above NO_PREAD case. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 June 2012, 21:23:03 UTC
4c8a9db git-submodule.sh: fix filename in comment. Signed-off-by: Michał Górny <mgorny@gentoo.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 25 June 2012, 18:09:35 UTC
70969f7 git-add--interactive.perl: Remove two unused variables The patch 8f0bef6 refactored this script and made the variable $fh unneeded in subs diff_applies and patch_update_file, but forgot to remove them. Signed-off-by: Thomas Badie <badie@lrde.epita.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> 25 June 2012, 17:06:09 UTC
8d8136c Documentation: Fix misspellings Signed-off-by: Leila Muhtasib <muhtasib@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 June 2012, 21:25:04 UTC
0ec4b16 clone: fix ref selection in --single-branch --branch=xxx - do not fetch HEAD - do not also fetch refs following "xxx" Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 June 2012, 21:16:34 UTC
304970d diff-no-index: exit(1) if 'diff --quiet <repo file> <external file>' finds changes When running 'git diff --quiet <file1> <file2>', if file1 or file2 is outside the repository, it will exit(0) even if the files differ. It should exit(1) when they differ. This happens because 'diff_no_index' looks at the 'found_changes' member from 'diff_options' to determine if changes were made. This is the wrong thing to do, since it is only set if xdiff is actually run and it finds a change (the diff machinery will optimize out the xdiff call when it is not necessary) and in that case HAS_CHANGED flag needs to be taken into account. Use diff_result_code() that knows all these details for the correct exit value instead. Signed-off-by: Tim Henigan <tim.henigan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 June 2012, 17:26:13 UTC
546e0fd diff: handle relative paths in no-index When diff-no-index is given a relative path to a file outside the repository, it aborts with error. However, if the file is given using an absolute path, the diff runs as expected. The two cases should be treated the same. Tests and commit message by Tim Henigan. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Tim Henigan <tim.henigan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 June 2012, 17:20:18 UTC
0e64a95 Git 1.7.11.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 June 2012, 21:43:59 UTC
6047518 docs: always define git-relative-html-prefix attribute Commit fe77b41 introduced a new attribute to let the linkgit macro create cross-directory HTML references from the technical/ and howto/ subdirectories back to the main documentation. We define that attribute to "../" on the command-line when building inside those subdirectories, and otherwise leave it unset under the assumption that it would default to being blank. Instead, asciidoc omits the link entirely, leading to broken documentation. Fix this by defining git-relative-html-prefix to blank in asciidoc.conf (and an instance on the command-line, when present, will override it). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 June 2012, 06:35:08 UTC
d284367 git-commit-tree(1): update synopsis Even with many new kinds of options, the command still takes the single <tree> as the first argument. Probably we would want to update the command to allow it to take <tree>-ish at the end for consistency. Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 June 2012, 18:36:57 UTC
b4ab198 Documentation: spelling fixes Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 June 2012, 18:35:19 UTC
023e37c verify_filename(): ask the caller to chose the kind of diagnosis verify_filename() can be called in two different contexts. Either we just tried to interpret a string as an object name, and it fails, so we try looking for a working tree file (i.e. we finished looking at revs that come earlier on the command line, and the next argument must be a pathname), or we _know_ that we are looking for a pathname, and shouldn't even try interpreting the string as an object name. For example, with this change, we get: $ git log COPYING HEAD:inexistant fatal: HEAD:inexistant: no such path in the working tree. Use '-- <path>...' to specify paths that do not exist locally. $ git log HEAD:inexistant fatal: Path 'inexistant' does not exist in 'HEAD' Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 June 2012, 22:21:42 UTC
d7236c4 sha1_name: do not trigger detailed diagnosis for file arguments diagnose_invalid_sha1_path() is meant to be called to diagnose a misspelt <treeish>:<pathname> when <pathname> does not exist in <treeish>. However, the code may call it if <treeish>:<pathname> is invalid (which triggers another call with only_to_die == 1), but for another reason. This happens when calling e.g. git log existing-file HEAD:existing-file because existing-file is a path and not a revision, the code verifies that the arguments that follow to be paths. This leads to an incorrect message like "existing-file does not exist in HEAD", even though the path exists in HEAD. Check that the search for <pathname> in <treeish> fails before triggering the diagnosis. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 June 2012, 22:13:16 UTC
0ce2e39 Git 1.7.11 Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 June 2012, 21:07:15 UTC
a890c99 Sync with 1.7.10.5 17 June 2012, 21:05:53 UTC
785ee49 Git 1.7.10.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 June 2012, 21:04:15 UTC
941cab3 Do not autosquash in case of an implied interactive rebase The option to autosquash is only used in case of an interactive rebase. When merges are preserved, rebase uses an interactive rebase internally, but in this case autosquash should still be disabled. Signed-off-by: Vincent van Ravesteijn <vfr@lyx.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 June 2012, 21:01:42 UTC
ca4effd Merge branch 'js/maint-fast-export-mark-error' into maint "git fast-export" did not give a readable error message when the same mark erroneously appeared twice in the --import-marks input. 17 June 2012, 21:00:03 UTC
7dba3f7 Merge git://github.com/git-l10n/git-po Updated Italian translations. * git://github.com/git-l10n/git-po: l10n: it.po: translate 212 new messages 15 June 2012, 22:01:16 UTC
0b6e913 Merge branch 'as/diff-shortstat-ignore-binary' # By Alexander Strasser * as/diff-shortstat-ignore-binary: diff: Only count lines in show_shortstats 15 June 2012, 22:00:53 UTC
de9658b diff: Only count lines in show_shortstats Do not mix byte and line counts. Binary files have byte counts; skip them when accumulating line insertions/deletions. The regression was introduced in e18872b. Signed-off-by: Alexander Strasser <eclipse7@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 June 2012, 22:00:04 UTC
af63b54 do not run pager with diff --no-index --quiet There is no point in running a pager when --quiet is given, since we are producing no output. The regular diff code path handles this already, because --quiet implies --exit-code, and we check for --exit-code when deciding not to run the pager. However, the "quiet implies exit-code" logic is done in diff_setup_done, and the no-index code path sets up its pager before running diff_setup_done, and misses this case. We can fix this by reordering our initialization. Currently we do: 1. read command line arguments into diff_options 2. Set pager if EXIT_CODE not requested 3. always set EXIT_CODE, since we are emulating traditional diff 4. call diff_setup_done We can fix the problem by moving pager initialization (step 2) after step 4. But step 3 must come after step 2 (since we want to know whether the _user_ requested --exit-code, not whether we turned it on unconditionally). So we must move both. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 June 2012, 21:27:36 UTC
1af3d97 fix pager.diff with diff --no-index git-diff does not rely on the git wrapper to setup its pager; instead, it sets it up on its own after seeing whether --quiet or --exit-code has been specified. After diff_no_index was split off from cmd_diff, commit b3fde6c (git diff --no-index: default to page like other diff frontends, 2008-05-26) duplicated the one-liner from cmd_diff to turn on the pager. Later, commit 8f0359f (Allow pager of diff command be enabled/disabled, 2008-07-21) taught the the version in cmd_diff to respect the pager.diff config, but the version in diff_no_index was left behind. This meant that git -c pager.diff=0 diff a b would not use a pager, but git -c pager.diff=0 diff --no-index a b would. Let's fix it by factoring out a common function. While we're there, let's update the antiquated comment, which claims that the pager interferes with propagating the exit code; this has not been the case since ea27a18 (spawn pager via run_command interface, 2008-07-22). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 June 2012, 21:27:35 UTC
1fd8f97 perl/Makefile: install Git::SVN::* when NO_PERL_MAKEMAKER=yes, too v1.7.11-rc1~12^2~2 (2012-05-27) and friends split some git-svn code into separate modules but did not update the fallback rules to install them when NO_PERL_MAKEMAKER is set. Add the appropriate rules so users without MakeMaker can use git-svn again. Affected modules: Git::SVN::Prompt, Git::SVN::Fetcher, Git::SVN::Editor, Git::SVN::Ra, Git::SVN::Memoize::YAML. Reported-by: Adam Roben <adam@roben.org> Signed-off-by: Jonathan Nieder <jrnieder@gmali.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 June 2012, 20:24:06 UTC
d22e567 perl/Makefile.PL: warn about duplicate module list in perl/Makefile Adding or removing a module requires modifying both files to support builds with and without MakeMaker. Add a comment to remind patch authors and reviewers at the crucial moment. Longer term, it would be nicer to maintain a single list, perhaps in a separate file used by both build systems. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 June 2012, 20:22:52 UTC
b98878e git-cherry-pick.txt: clarify the use of revision range notation When given a set of commits, cherry-pick will apply the changes for all of them. Specifying a simple range will also work as expected. This can lead the user to think that git cherry-pick A B..C may apply A and then B..C, but that is not what happens. Instead the revs are given to a single invocation of rev-list, which will consider A and C as positive revs and B as a negative one. The commit A will not be used if it is an ancestor of B. Add a note about this and add an example with this particular syntax, which has shown up on the list a few times. Signed-off-by: Carlos Martín Nieto <cmn@elego.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 June 2012, 17:56:13 UTC
42939f1 Documentation: --no-walk is no-op if range is specified The existing description can be misleading and cause the reader to think that --no-walk will do something if they specify a range in the command line instead of a set of revs. Signed-off-by: Carlos Martín Nieto <cmn@elego.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 June 2012, 17:41:37 UTC
7594112 l10n: it.po: translate 212 new messages Signed-off-by: Marco Paolone <marcopaolone@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> 14 June 2012, 12:20:15 UTC
6e513ba revision: ignore side parents while running simplify-merges The simplify_merges() function needs to look at all history chain to find the closest ancestor that is relevant after the simplification, but after --first-parent traversal, side parents haven't been marked for relevance (they are irrelevant by definition due to the nature of first-parent-only traversal) nor culled from the parents list of resulting commits. We cannot simply remove these side parents from the parents list, as the output phase still wants to see the parents. Instead, teach simplify_one() and its callees to ignore the later parents. Signed-off-by: Junio C Hamano <gitster@pobox.com> 13 June 2012, 21:04:33 UTC
2ae48a9 Merge branch 'rj/gitweb-test-sans-date-parser' Regression fix to t9501 introduced at 0f3ddd4 * rj/gitweb-test-sans-date-parser: gitweb: Skip 'modification times' tests when no date parser available 13 June 2012, 18:48:54 UTC
2cf4cfa Merge branch 'fc/git-complete-helper-fix' * fc/git-complete-helper-fix: completion: put main git and gitk completion functions back into git namespace 13 June 2012, 18:47:11 UTC
a5a46eb archive: ustar header checksum is computed unsigned POSIX.1 (pax) is pretty clear on this: The chksum field shall be the ISO/IEC 646:1991 standard IRV representation of the octal value of the simple sum of all octets in the header logical record. Each octet in the header shall be treated as an unsigned value. These values shall be added to an unsigned integer, initialized to zero, the precision of which is not less than 17 bits. When calculating the checksum, the chksum field is treated as if it were all <space> characters. so is GNU: http://www.gnu.org/software/tar/manual/html_node/Checksumming.html Found by 7zip folks and reported by Rafał Mużyło. Signed-off-by: Junio C Hamano <gitster@pobox.com> 13 June 2012, 17:47:21 UTC
1dad5c1 completion: remove credential helpers from porcelain commands Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 13 June 2012, 17:24:46 UTC
93b291e completion: put main git and gitk completion functions back into git namespace Commit 7f02f3d7 (completion: rename internal helpers _git and _gitk, 2012-05-19) renamed said functions to _main_git() and _main_gitk(), respectively. By convention the name of our git-completion-specific functions start with '_git' or '__git' prefix, so rename those functions once again to put them back into our "namespace". Use the two underscore prefix, because _git_main() could be mistaken for the completion function of the (not yet existing) 'git main' command. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 13 June 2012, 17:23:54 UTC
2a8a449 gitweb: Skip 'modification times' tests when no date parser available The If-Modified-Since support in Gitweb is conditional on the availability of a date parser from either the HTTP::Date or Time::ParseDate modules. If a suitable parser is not available, then the corresponding 'modification times' tests should be skipped. Introduce the DATE_PARSER test prerequisite and use it to skip all of the dependent tests. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com> 12 June 2012, 20:23:17 UTC
9bea2b5 Git 1.7.11-rc3 Signed-off-by: Junio C Hamano <gitster@pobox.com> 12 June 2012, 16:10:52 UTC
3a2c135 Merge git://github.com/git-l10n/git-po Updates to German, Vietnamese and simplified Chinese translation. * git://github.com/git-l10n/git-po: l10n: de.po: translate 27 new messages l10n: Update po/vi.po to v1.7.11.rc2.2.gb694fbb l10n: zh_CN.po: translate 27 new messages l10n: Update git.pot (27 new, 1 removed messages) 12 June 2012, 16:08:35 UTC
3482b14 Merge git://github.com/ralfth/git-po-de By Ralf Thielow via Ralf Thielow * github.com/ralfth/git-po-de: l10n: de.po: translate 27 new messages 12 June 2012, 15:41:05 UTC
73a6e3c Merge branch 'mm/api-credentials-doc' * mm/api-credentials-doc: api-credential.txt: document that helpers field is filled-in automatically 12 June 2012, 15:40:16 UTC
d844808 Merge branch 'jc/fmt-merge-msg-people' Tone down the lines that credit people involved and make them comments, so that integrators who edit their merge messages can still make use of the information, but lazy ones will not leave the unverified guesses placed on the "via" line. * jc/fmt-merge-msg-people: fmt-merge-msg: make attribution into comment lines 12 June 2012, 15:33:30 UTC
317d74b api-credential.txt: document that helpers field is filled-in automatically It was unclear whether the field was to be specified by the user of the API. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> 12 June 2012, 14:48:40 UTC
8772575 Merge branch 'js/maint-fast-export-mark-error' * js/maint-fast-export-mark-error: fast-export: report SHA-1 instead of gibberish when marks exist already 12 June 2012, 14:27:50 UTC
43bc230 fast-export: report SHA-1 instead of gibberish when marks exist already Cc: Pieter de Bie <pdebie@ai.rug.nl> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Max Horn <max@quendi.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 12 June 2012, 14:25:11 UTC
d7f22ed l10n: de.po: translate 27 new messages Translate 27 new messages came from git.pot update in 7256fd7 (l10n: Update git.pot (27 new, 1 removed messages)). Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com> 11 June 2012, 17:04:57 UTC
242f55f update-index: allow overwriting existing submodule index entries In commit e01105 Linus introduced gitlinks to update-index. He explains that he thinks it is not the right thing to replace a gitlink with something else. That commit is from the very first beginnings of submodule support. Since then we have gotten a lot closer to being able to remove a submodule without losing its history. This check prevents such a use case, so I think this assumption has changed. Additionally in the git add codepath we do not have such a check, so for consistency reasons I think removing this check is the correct thing to do. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 11 June 2012, 15:00:11 UTC
68f532f git-svn: use YAML format for mergeinfo cache when possible Since v1.7.0-rc2~11 (git-svn: persistent memoization, 2010-01-30), git-svn has maintained some private per-repository caches in .git/svn/.caches to avoid refetching and recalculating some mergeinfo-related information with every "git svn fetch". These caches use the 'nstore' format from the perl core module Storable, which can be read and written quickly and was designed for transfer over the wire (the 'n' stands for 'network'). This format is endianness-independent and independent of floating-point representation. Unfortunately the format is *not* independent of the perl version --- new perl versions will write files that very old perl cannot read. Worse, the format is not independent of the size of a perl integer. So if you toggle perl's use64bitint compile-time option, then using 'git svn fetch' on your old repositories produces errors like this: Byte order is not compatible at ../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/_retrieve.al) line 380, at /usr/share/perl/5.12/Memoize/Storable.pm line 21 That is, upgrading perl to a version that uses use64bitint for the first time makes git-svn suddenly refuse to fetch in existing repositories. Removing .git/svn/.caches lets git-svn recover. It's time to switch to a platform independent serializer backend with better compatibility guarantees. This patch uses YAML::Any. Other choices were considered: - thawing data from Data::Dumper involves "eval". Doing that without creating a security risk is fussy. - the JSON API works on scalars in memory and doesn't provide a standard way to serialize straight to disk. YAML::Any is reasonably fast and has a pleasant API. In most backends, LoadFile() reads the entire file into a scalar anyway and converts it as a second step, but having an interface that allows the deserialization to happen on the fly without a temporary is still a comfort. YAML::Any is not a core perl module, so we take care to use it when and only when it is available. Installations without that module should fall back to using Storable with all its quirks, keeping their cache files in .git/svn/.caches/*.db Installations with YAML peacefully coexist by keeping a separate set of cache files in .git/svn/.caches/*.yaml. In most cases, switching between is a one-time thing, so it doesn't seem worth the complication to migrate existing caches. The upshot: after this patch, as long as YAML::Any is installed you can move your git repository between machines with different perl installations and "git svn fetch" will work fine. If you do not have YAML::Any, the behavior is unchanged (and in particular does not get any worse). Reported-by: Sandro Weiser <sandro.weiser@informatik.tu-chemnitz.de> Reported-by: Bdale Garbee <bdale@gag.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> 10 June 2012, 08:47:53 UTC
9f7ad14 git-svn: make Git::SVN::RA a separate file This slices off another 600 or so lines from the frighteningly long git-svn.perl script. The Git::SVN::Ra interface is similar enough to SVN::Ra that it is probably safe to ignore most of its implementation on first reading. (Documenting or moving functions that do not fit that pattern is left as an exercise to the interested reader.) [ew: rebased and fixed conflict against commit c26ddce86d7215b4d9687bd4c6b5dd43a3fabf31 (git-svn: platform auth providers are working only on 1.6.15 or newer)] Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> 10 June 2012, 08:47:50 UTC
8f9facf git-svn: make Git::SVN::Editor a separate file This makes the git-svn script shorter and less scary for beginners to read through for the first time. Take the opportunity to explain the purpose and basic interface of the Git::SVN::Editor class while at it. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> 10 June 2012, 08:45:56 UTC
6cb4571 l10n: Update po/vi.po to v1.7.11.rc2.2.gb694fbb * Translated 28 strings. Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com> 09 June 2012, 07:23:27 UTC
ab9d75a revision: note the lack of free() in simplify_merges() Among the three similar-looking loops that walk singly linked commit_list, the first one is only peeking and the same list is later used for real work. Leave a comment not to mistakenly free its elements there. Signed-off-by: Junio C Hamano <gitster@pobox.com> 08 June 2012, 22:44:38 UTC
a52f007 revision: "simplify" options imply topo-order sort The code internally runs sort_in_topo_order() already; it is more clear to spell it out in the option parsing phase, instead of adding a special case in simplify_merges() function. 08 June 2012, 21:47:08 UTC
02101c9 Merge branch 'mm/api-credentials-doc' Finishing touches... * mm/api-credentials-doc: docs: fix cross-directory linkgit references 08 June 2012, 15:32:20 UTC
fe77b41 docs: fix cross-directory linkgit references Most of our documentation is in a single directory, so using linkgit:git-config[1] just generates a relative link in the same directory. However, this is not the case with the API documentation in technical/*, which need to refer to git-config from the parent directory. We can fix this by passing a special prefix attribute when building in a subdirectory, and respecting that prefix in our linkgit definitions. We only have to modify the html linkgit definition. For manpages, we can ignore this for two reasons: 1. we do not generate actual links to the file in manpages, but instead just give the name and section of the linked manpage 2. we do not currently build manpages for subdirectories, only html Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> 08 June 2012, 15:31:52 UTC
b694fbb l10n: zh_CN.po: translate 27 new messages Translate 19 new and 8 fuzzy messages which are marked by shell gettext wrappers, and ignored by previous 'git.pot' updates. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> 08 June 2012, 04:24:35 UTC
7256fd7 l10n: Update git.pot (27 new, 1 removed messages) Extract messages marked by shell gettext wrappers which are ignored before. See: * http://thread.gmane.org/gmane.comp.version-control.git/199112 Signed-off-by: Jiang Xin <worldhello.net@gmail.com> 08 June 2012, 02:40:20 UTC
a1a031d Git 1.7.11-rc2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 June 2012, 16:14:41 UTC
dd3d071 Merge branch 'mm/api-credentials-doc' * mm/api-credentials-doc: api-credentials.txt: add "see also" section api-credentials.txt: mention credential.helper explicitly api-credentials.txt: show the big picture first doc: fix xref link from api docs to manual pages 07 June 2012, 16:07:35 UTC
1b829ee Merge branch 'rr/maint-t3510-cascade-fix' * rr/maint-t3510-cascade-fix: t3510 (cherry-pick-sequence): add missing '&&' 07 June 2012, 16:07:27 UTC
7c0382b Merge branch 'jc/svn-auth-providers-unusable-at-1.6.12' Regression fix for people with libsvn between 1.6.12 and 1.6.15, on which we tried to use the non-working platform auth providers. * jc/svn-auth-providers-unusable-at-1.6.12: git-svn: platform auth providers are working only on 1.6.15 or newer 07 June 2012, 16:07:08 UTC
ecde699 Merge branch 'cr/persistent-https' A remote helper that acts as a proxy and caches ssl session for the https:// transport is added to the contrib/ area. By Colby Ranger * cr/persistent-https: Add persistent-https to contrib 07 June 2012, 16:06:39 UTC
9830a9c fmt-merge-msg: make attribution into comment lines The submaintainer credit is not something you can compute purely by looking at the history and its shape, especially in the presense of fast-forward merges, and this observation makes the information on the "via" line unreliable. Let's leave the final determination of credits up to whoever is making the merge and show them as comments. Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 June 2012, 21:46:35 UTC
0d316f0 dir.c: make excluded() file scope static Now there no longer is external callers of this interface, so we can make it static. Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 June 2012, 05:26:12 UTC
589570d unpack-trees.c: use path_excluded() in check_ok_to_remove() This function is responsible for determining if a path that is not tracked is ignored and allow "checkout" to overwrite it as needed. It used excluded() without checking if higher level directory in the path is ignored; correct it to use path_excluded() for this check. Signed-off-by: Junio C Hamano <gitster@pobox.com> --- * There are uses of lower-level interface excluded_from_list() in the codepath for narrow-checkout hack; they are supposed to be already checking each level as they descend, and are not touched with this patch. 06 June 2012, 05:21:42 UTC
eb69934 builtin/add.c: use path_excluded() This only happens in --ignore-missing --dry-run codepath which presumably nobody should care, but is for completeness. Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 June 2012, 04:44:22 UTC
782cd4c path_excluded(): update API to less cache-entry centric It was stupid of me to make the API too much cache-entry specific; the caller may want to check arbitrary pathname without having a corresponding cache-entry to see if a path is ignored. Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 June 2012, 04:22:36 UTC
f623ca1 Merge git://github.com/git-l10n/git-po German and Chinese translation updates. By Ralf Thielow (4) and others via Jiang Xin (1) and Tran Ngoc Quan (1) * git://github.com/git-l10n/git-po: l10n: Update translation for Vietnamese l10n: de.po: add additional newline l10n: de.po: translate 2 new, 3 fuzzy messages l10n: de.po: translate 41 new messages l10n: de.po: translate 265 new messages l10n: zh_CN.po: translate 2 new, 3 fuzzy messages l10n: Update git.pot (5 new, 3 removed messages) 05 June 2012, 17:57:53 UTC
8c3710f tweak "bundle verify" of a complete history A bundle that records a complete history without prerequiste is a useful way to sneakernet the sources of your configuration files under your home directory, etc. E.g. $ GIT_DIR=/srv/git/homesrc.git git bundle create x.bndl HEAD master Running "git bundle verify" on such a "complete" bundle, however, gives somewhat a funny output. $ git bundle verify x.bndl The bundle contains 2 refs b2611f37ebc7ed6435a72d77fbc5f8b48a7d7146 HEAD b2611f37ebc7ed6435a72d77fbc5f8b48a7d7146 refs/heads/master The bundle requires these 0 refs x.bndl is okay Reword "requires these 0 refs" to say "The bundle records a complete history" instead. Signed-off-by: Junio C Hamano <gitster@pobox.com> 04 June 2012, 23:24:49 UTC
070bad6 t3510 (cherry-pick-sequence): add missing '&&' Breaks in a test assertion's && chain can potentially hide failures from earlier commands in the chain. Fix an instance of this in the setup. Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 04 June 2012, 22:35:22 UTC
04ab6ae api-credentials.txt: add "see also" section Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> 04 June 2012, 20:49:50 UTC
365fc8d api-credentials.txt: mention credential.helper explicitly The name of the configuration variable was mentioned only at the very end of the explanation, in a place specific to a specific rule, hence it was not very clear what the specification was about. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> 04 June 2012, 20:49:44 UTC
2239888 api-credentials.txt: show the big picture first The API documentation targets two kinds of developers: those using the C API, and those writing remote-helpers. The document was not clear about which part was useful to which category, and for example, the C API could be mistakenly thought as an API for writting remote helpers. Based-on-patch-by: Jeff King <peff@peff.net> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> 04 June 2012, 20:47:32 UTC
dd4287a doc: fix xref link from api docs to manual pages They are one-level above, so refer them as linkgit:../git-foo[n] with "../" Signed-off-by: Junio C Hamano <gitster@pobox.com> 04 June 2012, 20:46:53 UTC
c26ddce git-svn: platform auth providers are working only on 1.6.15 or newer Matthijs Kooijman reports that the cut-off point 082afee (git-svn: use platform specific auth providers, 2012-04-26) set at 1.6.12 to use this feature safely was incorrect, and it is 1.6.15 instead: http://svn.apache.org/repos/asf/subversion/trunk/CHANGES Version 1.6.15 * improve some swig parameter mapping (r984565, r1035745) Signed-off-by: Junio C Hamano <gitster@pobox.com> Acked-by: Eric Wong <normalperson@yhbt.net> 04 June 2012, 19:54:48 UTC
958a314 Merge git://github.com/ralfth/git-po-de By Ralf Thielow via Ralf Thielow * ralfth/git-po-de/master: l10n: de.po: add additional newline l10n: de.po: translate 2 new, 3 fuzzy messages l10n: de.po: translate 41 new messages l10n: de.po: translate 265 new messages 04 June 2012, 15:45:13 UTC
9e383e8 l10n: Update translation for Vietnamese * Updated 5 strings for v1.7.11-rc0-100-g5498c * Retranslated about 16 strings Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com> 04 June 2012, 06:25:25 UTC
93921b0 ls-files -i: micro-optimize path_excluded() As we know a caller that does not recurse is calling us in the index order, we can remember the last directory we found to be excluded and see if the path we are looking at is still inside it, in which case we can just answer that it is excluded. Signed-off-by: Junio C Hamano <gitster@pobox.com> 03 June 2012, 23:08:25 UTC
eb41775 ls-files -i: pay attention to exclusion of leading paths "git ls-files --exclude=t/ -i" does not show paths in directory t/ that have been added to the index, but it should. The excluded() API was designed for callers who walk the tree from the top, checking each level of the directory hierarchy as it descends if it is excluded, and not even bothering to recurse into an excluded directory. This would allow us optimize for a common case by not having to check if the exclude pattern "foo/" matches when looking at "foo/bar", because the caller should have noticed that "foo" is excluded and did not even bother to read "foo/bar" out of opendir()/readdir() to call it. The code for "ls-files -i" however walks the index linearly, feeding paths without checking if the leading directory is already excluded. Introduce a helper function path_excluded() to let this caller properly call excluded() check for higher hierarchies as necessary. Signed-off-by: Junio C Hamano <gitster@pobox.com> 03 June 2012, 23:05:42 UTC
3fe4498 Git 1.7.11-rc1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 03 June 2012, 22:56:05 UTC
47829ed Sync with 1.7.10.4 * maint: Git 1.7.10.4 03 June 2012, 22:54:33 UTC
121f71f Git 1.7.10.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> 03 June 2012, 22:53:58 UTC
06de561 Merge branch 'ef/maint-rebase-error-message' into maint When "git rebase" was given a bad commit to replay the history on, its error message did not correctly give the command line argument it had trouble parsing. By Erik Faye-Lund * ef/maint-rebase-error-message: rebase: report invalid commit correctly 03 June 2012, 22:52:18 UTC
c0dd803 l10n: de.po: add additional newline The translation of "builtin/gc.c:224" was missing of a newline which made the second part of the message quite long. We simply add a newline. Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com> 02 June 2012, 18:23:21 UTC
16abda8 l10n: de.po: translate 2 new, 3 fuzzy messages Translate 2 new and 3 fuzzy messages came from git.pot update in 75f7b4b (l10n: Update git.pot (5 new, 3 removed messages)). Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com> 02 June 2012, 15:03:29 UTC
back to top