05a20c8 | Junio C Hamano | 01 August 2012, 22:59:08 UTC | Merge git://github.com/git-l10n/git-po * git://github.com/git-l10n/git-po: l10n: de.po: translate 4 new messages l10n: vi.po: translate 4 new messages l10n: zh_CN.po: translate 4 new messages l10n: Update git.pot (4 new, 3 removed messages) | 01 August 2012, 22:59:08 UTC |
e39beac | Ralf Thielow | 01 August 2012, 17:09:09 UTC | git-rebase.sh: fix typo in an error message Fix a typo in the error messages which is shown if it seems that a rebase is already in progress. Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 August 2012, 20:58:47 UTC |
97c7934 | Junio C Hamano | 31 July 2012, 16:43:07 UTC | Merge branch 'nd/maint-i18n-diffstat' * nd/maint-i18n-diffstat: i18n: leave \n out of translated diffstat | 31 July 2012, 16:43:07 UTC |
5fe1484 | Junio C Hamano | 31 July 2012, 16:41:51 UTC | Merge branch 'jx/i18n-1.7.11' Add i18n support for scripted Porcelains, and mark strings in merge(-recursive), am, and rebase for i18n. * jx/i18n-1.7.11: i18n: merge-recursive: mark strings for translation Remove dead code which contains bad gettext block i18n: am: mark more strings for translation rebase: remove obsolete and unused LONG_USAGE which breaks xgettext i18n: Rewrite gettext messages start with dash i18n: rebase: mark messages for translation i18n: New keywords for xgettext extraction from sh | 31 July 2012, 16:41:52 UTC |
9c87b0d | Ralf Thielow | 30 July 2012, 15:50:53 UTC | l10n: de.po: translate 4 new messages Translate 4 new messages came from git.pot update in 0bbe5b4 (l10n: Update git.pot (4 new, 3 removed messages)). Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> | 31 July 2012, 15:01:15 UTC |
fd4652e | Tran Ngoc Quan | 31 July 2012, 00:45:53 UTC | l10n: vi.po: translate 4 new messages Update Vietnamse translation to POT file in 0bbe5b4 Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com> | 31 July 2012, 00:45:53 UTC |
23ff333 | Jiang Xin | 30 July 2012, 22:45:33 UTC | l10n: zh_CN.po: translate 4 new messages Translate 4 new messages came from git.pot update in 0bbe5b4 (l10n: Update git.pot (4 new, 3 removed messages)) Signed-off-by: Jiang Xin <worldhello.net@gmail.com> | 30 July 2012, 22:45:33 UTC |
3b2d763 | Junio C Hamano | 30 July 2012, 20:00:03 UTC | Git 1.7.12-rc1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 July 2012, 20:20:00 UTC |
9c9b9ed | Junio C Hamano | 30 July 2012, 20:17:31 UTC | Sync with 1.7.11.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 July 2012, 20:18:18 UTC |
0e4c882 | Junio C Hamano | 30 July 2012, 20:09:25 UTC | Git 1.7.11.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 July 2012, 20:16:51 UTC |
f17adbc | Junio C Hamano | 30 July 2012, 20:05:36 UTC | Merge branch 'jk/maint-commit-document-editmsg' into maint "$GIT_DIR/COMMIT_EDITMSG" file that is used to hold the commit log message user edits was not documented. * jk/maint-commit-document-editmsg: commit: document the temporary commit message file | 30 July 2012, 20:05:36 UTC |
5c992a1 | Junio C Hamano | 30 July 2012, 20:05:25 UTC | Merge branch 'jk/maint-advise-vaddf' into maint The advise() function did not use varargs correctly to format its message. * jk/maint-advise-vaddf: advice: pass varargs to strbuf_vaddf, not strbuf_addf | 30 July 2012, 20:05:25 UTC |
2e3710b | Junio C Hamano | 30 July 2012, 20:05:13 UTC | Merge branch 'kk/maint-commit-tree' into maint "git commit-tree" learned a more natural "-p <parent> <tree>" order of arguments long time ago, but recently forgot it by mistake. * kk/maint-commit-tree: Revert "git-commit-tree(1): update synopsis" commit-tree: resurrect command line parsing updates | 30 July 2012, 20:05:13 UTC |
70f6be7 | Junio C Hamano | 30 July 2012, 20:04:59 UTC | Merge branch 'jv/maint-no-ext-diff' into maint "git diff --no-ext-diff" did not output anything for a typechange filepair when GIT_EXTERNAL_DIFF is in effect. * jv/maint-no-ext-diff: diff: test precedence of external diff drivers diff: correctly disable external_diff with --no-ext-diff | 30 July 2012, 20:04:59 UTC |
9b67f56 | Junio C Hamano | 30 July 2012, 20:04:39 UTC | Merge branch 'pg/maint-1.7.9-am-where-is-patch' into maint When "git am" failed, old timers knew to check .git/rebase-apply/patch to see what went wrong, but we never told the users about it. * pg/maint-1.7.9-am-where-is-patch: am: indicate where a failed patch is to be found | 30 July 2012, 20:04:39 UTC |
8ba105d | Junio C Hamano | 30 July 2012, 20:04:18 UTC | Merge branch 'jl/maint-1.7.10-recurse-submodules-with-symlink' into maint When "git submodule add" clones a submodule repository, it can get confused where to store the resulting submodule repository in the superproject's .git/ directory when there is a symbolic link in the path to the current directory. * jl/maint-1.7.10-recurse-submodules-with-symlink: submodules: don't stumble over symbolic links when cloning recursively | 30 July 2012, 20:04:18 UTC |
80ffb75 | Junio C Hamano | 30 July 2012, 20:03:40 UTC | Merge branch 'jc/maint-filter-branch-epoch-date' into maint In 1.7.9 era, we taught "git rebase" about the raw timestamp format but we did not teach the same trick to "filter-branch", which rolled a similar logic on its own. * jc/maint-filter-branch-epoch-date: t7003: add test to filter a branch with a commit at epoch date.c: Fix off by one error in object-header date parsing filter-branch: do not forget the '@' prefix to force git-timestamp | 30 July 2012, 20:04:18 UTC |
3e6d071 | Junio C Hamano | 30 July 2012, 19:56:42 UTC | Merge branch 'rj/maint-grep-remove-redundant-test' "git grep" stopped spawning an external "grep" long time ago, but a duplicated test to check internal and external "grep" was left behind. * rj/maint-grep-remove-redundant-test: t7810-*.sh: Remove redundant test | 30 July 2012, 19:56:42 UTC |
8de8bb8 | Junio C Hamano | 30 July 2012, 19:56:25 UTC | Merge branch 'dg/submodule-in-dismembered-working-tree' Finishing touches to the new test script. * dg/submodule-in-dismembered-working-tree: t7409: make sure submodule is initialized and updated in more detail | 30 July 2012, 19:56:25 UTC |
95e7705 | Daniel Graña | 30 July 2012, 17:51:59 UTC | t7409: make sure submodule is initialized and updated in more detail The earlier test did not even make sure that the correct commit is checked out in the submodule directory. Inspect the result in a bit more detail. Signed-off-by: Daniel Graña <dangra@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 July 2012, 19:56:14 UTC |
fbea95c | Junio C Hamano | 30 July 2012, 19:55:01 UTC | Merge branch 'hv/link-alt-odb-entry' The code to avoid mistaken attempt to add the object directory itself as its own alternate could read beyond end of a string while comparison. * hv/link-alt-odb-entry: link_alt_odb_entry: fix read over array bounds reported by valgrind | 30 July 2012, 19:55:01 UTC |
dff9d65 | Florian Achleitner | 30 July 2012, 14:31:18 UTC | Add explanatory comment for transport-helpers refs mapping. The patch below adds a comment to fetch_with_import() explaining the loop that saves the fetched commit names after 'git fast-import' has done its work. It avoids some confusion about which refs the fast-import stream is supposed to use to write its result. Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com> Helped-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 July 2012, 19:22:35 UTC |
0bbe5b4 | Jiang Xin | 30 July 2012, 02:24:47 UTC | l10n: Update git.pot (4 new, 3 removed messages) Generate po/git.pot from v1.7.12-rc0-54-g9e211, and there are 4 new, 3 removed l10n messages. * 4 new messages are added at lines: 1254, 1264, 1459, 1523 * 3 old messages are deleted from the previous version at lines: 1254, 1273, 2854 Signed-off-by: Jiang Xin <worldhello.net@gmail.com> | 30 July 2012, 02:24:47 UTC |
4ca9453 | Ramsay Jones | 28 July 2012, 18:50:49 UTC | t7810-*.sh: Remove redundant test Since commit bbc09c22 ("grep: rip out support for external grep", 12-01-2010), test number 60 ("grep -C1 hunk mark between files") is essentially the same as test number 59. Test 59 was intended to verify the behaviour of git-grep resulting from multiple invocations of an external grep. As part of the test, it creates and adds 1024 files to the index, which is now wasted effort. Remove test 59, since it is now redundant. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 July 2012, 01:08:50 UTC |
425b8a2 | Ramsay Jones | 28 July 2012, 18:48:06 UTC | t1100-*.sh: Fix an intermittent test failure In particular, the final test ('flags and then non flags') fails intermittently, depending on how much time elapsed between the invocations of "git commit-tree" when creating the commits which later have their commit id's compared. For example, if the commits for childid-3 and childid-4 are created 1 or more seconds apart, then the commits, which would otherwise be identical, will have different commit id's. In order to make the test reproducible, we remove the variability by setting the author and committer times to a well defined state. We accomplish this with a single call to 'test_tick' at the start of the test. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 July 2012, 01:07:47 UTC |
cb2912c | Heiko Voigt | 28 July 2012, 15:46:36 UTC | link_alt_odb_entry: fix read over array bounds reported by valgrind pfxlen can be longer than the path in objdir when relative_base contains the path to gits object directory. Here we are interested in checking if ent->base[] (the part that corresponds to .git/objects) is the same string as objdir, and the code NUL-terminated ent->base[] to LEADING PATH\0XX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\0 in preparation for these "duplicate check" step (before we return from the function, the first NUL is turned into '/' so that we can fill XX when probing for loose objects). All we need to do is to compare the string with the path to our object directory. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 July 2012, 01:02:51 UTC |
07a71b8 | Jeff King | 28 July 2012, 15:18:29 UTC | t: add missing executable bit to t7409 Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 July 2012, 22:20:42 UTC |
9e2116a | Junio C Hamano | 28 July 2012, 05:25:19 UTC | Update draft release notes to 1.7.12 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 July 2012, 05:25:19 UTC |
51e383d | Junio C Hamano | 28 July 2012, 04:48:27 UTC | Merge branch 'extract-remaining' of git://git.bogomips.org/git-svn * 'extract-remaining' of git://git.bogomips.org/git-svn: Extract Git::SVN::GlobSpec from git-svn. Move Git::IndexInfo into its own file. Load all the modules in one place and before running code. Extract Git::SVN::Migration from git-svn. Prepare Git::SVN::Migration for extraction from git-svn. Extract Git::SVN::Log from git-svn. Prepare Git::SVN::Log for extraction from git-svn. | 28 July 2012, 04:48:27 UTC |
646e417 | Junio C Hamano | 28 July 2012, 04:18:09 UTC | Merge git://git.bogomips.org/git-svn * git://git.bogomips.org/git-svn: Move initialization of Git::SVN variables into Git::SVN. Extract Git::SVN from git-svn into its own .pm file. Prepare Git::SVN for extraction into its own file. Extract some utilities from git-svn to allow extracting Git::SVN. perl: detect new files in MakeMaker builds The Makefile.PL will now find .pm files itself. Don't lose Error.pm if $@ gets clobbered. Quiet warning if Makefile.PL is run with -w and no --localedir | 28 July 2012, 04:18:09 UTC |
12688bb | Junio C Hamano | 28 July 2012, 04:17:00 UTC | Merge branch 'jk/autoident-test' Fix test breakages by a builder who does not have a valid user name in his /etc/password entry. * jk/autoident-test: t7502: test early quit from commit with bad ident t7502: handle systems where auto-identity is broken t7502: drop confusing test_might_fail call t7502: narrow checks for author/committer name in template t7502: properly quote GIT_EDITOR t7502: clean up fake_editor tests | 28 July 2012, 04:17:00 UTC |
3b0553c | Junio C Hamano | 28 July 2012, 04:16:45 UTC | Merge branch 'jk/help-plug-memleak' Plug a few trivial memory leaks. * jk/help-plug-memleak: help.c::exclude_cmds(): plug a leak help.c::uniq: plug a leak | 28 July 2012, 04:16:45 UTC |
a64fe6c | Junio C Hamano | 28 July 2012, 04:13:46 UTC | Merge branch 'dg/submodule-in-dismembered-working-tree' In a superproject that has repository outside of its working tree, "git submodule add" failed to clone a new submodule, as GIT_DIR and GIT_WORK_TREE environment variables necessary to work in such a superproject interfered with access to the submodule repository. * dg/submodule-in-dismembered-working-tree: git-submodule: work with GIT_DIR/GIT_WORK_TREE | 28 July 2012, 04:13:46 UTC |
5000caa | Junio C Hamano | 28 July 2012, 04:11:33 UTC | Merge branch 'jk/maint-checkout-orphan-check-fix' "git checkout <branchname>" to come back from a detached HEAD state incorrectly computed reachability of the detached HEAD, resulting in unnecessary warnings. * jk/maint-checkout-orphan-check-fix: checkout: don't confuse ref and object flags | 28 July 2012, 04:11:34 UTC |
3d9be15 | Michael G. Schwern | 27 July 2012, 00:26:06 UTC | Extract Git::SVN::GlobSpec from git-svn. Straight cut & paste. That's the last class. * Make Git::SVN load it on its own, its the only thing that needs it. Signed-off-by: Eric Wong <normalperson@yhbt.net> | 27 July 2012, 22:36:19 UTC |
10c2aa5 | Michael G. Schwern | 27 July 2012, 00:26:05 UTC | Move Git::IndexInfo into its own file. Straight cut & paste. Didn't require any fixing. Signed-off-by: Eric Wong <normalperson@yhbt.net> | 27 July 2012, 22:36:17 UTC |
e96cdba | Michael G. Schwern | 27 July 2012, 00:26:04 UTC | Load all the modules in one place and before running code. Just makes the code easier to follow. No functional change. Also eliminate an unused lexical $SVN. Signed-off-by: Eric Wong <normalperson@yhbt.net> | 27 July 2012, 22:36:16 UTC |
b772cb9 | Michael G. Schwern | 27 July 2012, 00:26:03 UTC | Extract Git::SVN::Migration from git-svn. Straight cut & paste. Signed-off-by: Eric Wong <normalperson@yhbt.net> | 27 July 2012, 22:36:14 UTC |
b0e7525 | Michael G. Schwern | 27 July 2012, 00:26:02 UTC | Prepare Git::SVN::Migration for extraction from git-svn. * Load Git command functions on its own. * Load Git::SVN modules on its own. Drive by refactorings... * Use our() instead of use vars. * Eliminate the auto loading of Git functions. Signed-off-by: Eric Wong <normalperson@yhbt.net> | 27 July 2012, 22:36:12 UTC |
b74fda1 | Michael G. Schwern | 27 July 2012, 00:26:01 UTC | Extract Git::SVN::Log from git-svn. Straight cut & paste. Also noticed Git::SVN::Ra wasn't in the compile test. It is now. Signed-off-by: Eric Wong <normalperson@yhbt.net> | 27 July 2012, 22:36:06 UTC |
2c96a6c | Michael G. Schwern | 27 July 2012, 00:26:00 UTC | Prepare Git::SVN::Log for extraction from git-svn. * Load Git command functions itself. * Can't access the git-svn switch lexical any more, but its only used by Git::SVN::Log so turn it into a Git::SVN::Log global. * Load Git::SVN as needed. No need to load it always, its only used twice. * Moved a state variable to the routine it's used for. (Drive by refactoring) Signed-off-by: Eric Wong <normalperson@yhbt.net> | 27 July 2012, 22:35:26 UTC |
5c71028 | Michael G. Schwern | 26 July 2012, 23:22:25 UTC | Move initialization of Git::SVN variables into Git::SVN. Also it can compile on its own now, yay! Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> | 27 July 2012, 22:14:54 UTC |
29499c0 | Michael G. Schwern | 26 July 2012, 23:22:24 UTC | Extract Git::SVN from git-svn into its own .pm file. Except for adding the 1; at the end, this is a straight copy & paste. Tests still pass, but its doubtful Git::SVN will compile on its own without git-svn being loaded. Next commit will fix that. Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> | 27 July 2012, 22:14:53 UTC |
0f80aa0 | Michael G. Schwern | 26 July 2012, 23:22:23 UTC | Prepare Git::SVN for extraction into its own file. This means it should be able to load without git-svn being loaded. * Load Git.pm on its own and all the needed command functions. * It needs to grab at a git-svn lexical $_prefix representing the --prefix option. Provide opt_prefix() for that. This is a refactoring artifact. The prefix should really be passed into Git::SVN->new. * Unqualify unnecessarily fully qualified globals like $Git::SVN::default_repo_id. * Lexically isolate the class just to make sure nothing is leaking out. Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> | 27 July 2012, 22:14:52 UTC |
c2768fa | Michael G. Schwern | 26 July 2012, 23:22:22 UTC | Extract some utilities from git-svn to allow extracting Git::SVN. Put them in a new module called Git::SVN::Utils. Yeah, not terribly original and it will be a dumping ground. But its better than having them in the main git-svn program. At least they can be documented and tested. * fatal() is used by many classes. * Change the $can_compress lexical into a function. This should be enough to extract Git::SVN. Signed-off-by: Michael G. Schwern <schwern@pobox.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> | 27 July 2012, 22:14:50 UTC |
ee9be06 | Junio C Hamano | 27 July 2012, 20:04:20 UTC | perl: detect new files in MakeMaker builds While Makefile.PL now finds .pm files on its own, it does not detect new files after it generates perl/perl.mak. [ew: commit message, minor tweaks] ref: http://mid.gmane.org/7vlii51xz4.fsf@alter.siamese.dyndns.org Signed-off-by: Eric Wong <normalperson@yhbt.net> | 27 July 2012, 22:14:02 UTC |
98d5439 | Michael G. Schwern | 25 July 2012, 03:21:11 UTC | The Makefile.PL will now find .pm files itself. It is no longer necessary to manually add new .pm files to the Makefile.PL. This makes it easier to add modules. It is still necessary to add them to the Makefile, but that extra work should be removed at a future date. Signed-off-by: Michael G Schwern <schwern@pobox.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> | 27 July 2012, 22:13:28 UTC |
0ed8fdc | Michael G. Schwern | 25 July 2012, 03:21:10 UTC | Don't lose Error.pm if $@ gets clobbered. In older Perls, sometimes $@ can become unset between the eval and checking $@. Its safer to check the eval directly. Signed-off-by: Michael G Schwern <schwern@pobox.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> | 27 July 2012, 22:13:27 UTC |
4c8e5c5 | Michael G. Schwern | 25 July 2012, 03:21:09 UTC | Quiet warning if Makefile.PL is run with -w and no --localedir Usually it isn't, but its nice if it can be run with warnings on. Signed-off-by: Michael G Schwern <schwern@pobox.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> | 27 July 2012, 22:13:25 UTC |
55653a6 | Jiang Xin | 25 July 2012, 14:53:13 UTC | i18n: merge-recursive: mark strings for translation Mark strings in merge-recursive for translation. Some tests would start to fail with GETTEXT_POISON turned on after this update. Use test_i18ncmp and test_i18ngrep where appropriate to mark strings that should only be checked in the C locale output to avoid such issues. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> Reviewed-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 July 2012, 05:34:15 UTC |
31023e0 | Jiang Xin | 25 July 2012, 14:53:12 UTC | Remove dead code which contains bad gettext block Found this dead code when I examine gettext messages in shell scripts start with dash ('-' or '--'). An error will be raised for this case, like: $ gettext "-d option is no longer supported. Do not use." gettext: missing arguments Indead, this code has been left as dead for a long time, as Jonathan points out: The git am -d/--dotest option has errored out with a message since e72c7406 (am: remove support for -d .dotest, 2008-03-04). The error message about lack of support was eliminated along with other cleanups (probably by mistake) a year later by removing the option from the option table in 98ef23b3 (git-am: minor cleanups, 2009-01-28). But the code to handle -d and --dotest stayed around even though ever since then it could not be tripped. Remove this dead code. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> Reviewed-by: Stefano Lattarini <stefano.lattarini@gmail.com> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 July 2012, 05:34:15 UTC |
42e6504 | Jiang Xin | 25 July 2012, 14:53:11 UTC | i18n: am: mark more strings for translation Mark strings in 'git-am.sh' for translation. In the last chunk, change '$1' to '-b/--binary', as it is not worth turning this message to "The %s option has been..." and using printf on it. Also reduce one indentation level for one gettextln clause introduced in commit de88c1c. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> Reviewed-by: Stefano Lattarini <stefano.lattarini@gmail.com> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 July 2012, 05:34:15 UTC |
c021fbf | Jiang Xin | 25 July 2012, 14:53:10 UTC | rebase: remove obsolete and unused LONG_USAGE which breaks xgettext Since there is a modern OPTIONS_SPEC variable in use in this script, the obsolete USAGE and LONG_USAGE variables are no longer used. Remove them. In addition, the obsolete LONG_USAGE variable has the following message in it: A'\''--B'\''--C'\'' And such complex LONG_USAGE message will break xgettext when extracting l10n messages (but if single quotes are removed from the message, xgettext works fine on 'git-rebase.sh'). Signed-off-by: Jiang Xin <worldhello.net@gmail.com> Reviewed-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 July 2012, 05:34:15 UTC |
465d6a0 | Jiang Xin | 25 July 2012, 14:53:09 UTC | i18n: Rewrite gettext messages start with dash Gettext message in a shell script should not start with '-', one workaround is adding '--' between gettext and the message, like: gettext -- "--exec option ..." But due to a bug in the xgettext extraction, xgettext can not extract the actual message for this case. Rewriting the message is a simpler and better solution. Reported-by: Vincent van Ravesteijn <vfr@lyx.org> Signed-off-by: Jiang Xin <worldhello.net@gmail.com> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Reviewed-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 July 2012, 05:33:37 UTC |
8c8b3bc | Jeff King | 26 July 2012, 20:32:50 UTC | t7502: test early quit from commit with bad ident In commit f20f387, "git commit" notices and dies much earlier when we have a bogus commit identity. That commit did not add a test because we cannot do so reliably (namely, we can only trigger the behavior on a system where the automatically generated identity is bogus). However, now that we have a prerequisite check for this feature, we can add a test that will at least run on systems that produce such a bogus identity. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 July 2012, 21:23:35 UTC |
1d7dc26 | Jeff King | 26 July 2012, 20:32:31 UTC | t7502: handle systems where auto-identity is broken Test t7502.21 checks whether we write the committer name into COMMIT_EDITMSG when it has been automatically determined. However, not all systems can produce valid automatic identities. Prior to f20f387 (commit: check committer identity more strictly), this test worked even when we did not have a valid automatic identity, since it did not run the strict test until after we had generated the template. That commit tightened the check to fail early (since we would fail later, anyway), meaning that systems without a valid GECOS name or hostname would fail the test. We cannot just work around this, because it depends on configuration outside the control of the test script. Therefore we introduce a new test_prerequisite to run this test only on systems where automatic ident works at all. As a result, we can drop the confusing test_must_fail bit from the test. The intent was that by giving "git commit" invalid input (namely, nothing to commit), that it would stop at a predictable point, whether we had a valid identity or not, from which we could view the contents of COMMIT_EDITMSG. Since that assumption no longer holds, and we can only run the test when we have a valid identity, there is no reason not to let commit run to completion. That lets us be more robust to other unforeseen failures. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 July 2012, 21:23:35 UTC |
ceacd91 | Jeff King | 26 July 2012, 20:31:15 UTC | t7502: drop confusing test_might_fail call In t7502.20, we run "git commit" and check that it warns us that the author and committer identity are not the same (this is always the case in the test environment, since we set up the idents differently). Instead of actually making a commit, we have a clean index, so the "git commit" we run will fail. This is marked as might_fail, which is not really correct; it will always fail since there is nothing to commit. However, the only reason not to do a complete commit would be to see the intermediate state of the COMMIT_EDITMSG file when the commit is not completed. We don't need to care about this, though; even a complete commit will leave COMMIT_EDITMSG for us to view. By doing a real commit and dropping the might_fail, we are more robust against other unforeseen failures of "git commit" that might influence our test result. It might seem less robust to depend on the fact that "git commit" leaves COMMIT_EDITMSG in place after a successful commit. However, that brings this test in line with others parts of the script, which make the same assumption. Furthermore, if that ever does change, the right solution is not to prevent commit from completing, but to set EDITOR to a script that will record the contents we see. After all, the point of these tests is to check what the user sees in their EDITOR, so that would be the most direct test. For now, though, we can continue to use the "shortcut" that COMMIT_EDITMSG is left intact. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 July 2012, 21:23:35 UTC |
1f4bf34 | Jeff King | 26 July 2012, 20:30:29 UTC | t7502: narrow checks for author/committer name in template t7502.20 and t7502.21 check that the author and committer name are mentioned in the commit message template under certain circumstances. However, they end up checking a much larger and unnecessary portion of the template. Let's narrow their checks to the specific lines. While we're at it, let's give these tests more descriptive names, so their purposes are more obvious. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 July 2012, 21:23:35 UTC |
34565f2 | Jeff King | 26 July 2012, 20:28:00 UTC | t7502: properly quote GIT_EDITOR One of the tests tries to ensure that editor is not run due to an early failure. However, it needs to quote the pathname of the trash directory used in $GIT_EDITOR, since git will pass it along to the shell. In other words, the test would pass whether the code was correct or not, since the unquoted editor specification would never run. We never noticed the problem because the code is indeed correct, so git-commit never even tried to run the editor. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 July 2012, 21:23:35 UTC |
a9ebc43 | Jeff King | 26 July 2012, 20:27:55 UTC | t7502: clean up fake_editor tests Using write_script saves us a few lines of code, and means we consistently use $SHELL_PATH. We can also drop the setting of the $pwd variable from $(pwd). In the first instance, there is no reason to use it (we can just use $(pwd) directly two lines later, since we are interpolating the here-document). In the second instance, it is totally pointless and probably just a cut-and-paste from the first instance. Finally, we can use a non-interpolating here document for the final script, which saves some quoting. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 July 2012, 21:23:35 UTC |
8212333 | Nguyễn Thái Ngọc Duy | 26 July 2012, 12:52:36 UTC | i18n: leave \n out of translated diffstat GETTEXT_POISON scrapes everything in translated strings, including \n. t4205.12 however needs this \n in matching the end result. Keep this \n out of translation to make t4205.12 happy. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 July 2012, 17:48:02 UTC |
cdd159b | Junio C Hamano | 25 July 2012, 22:47:08 UTC | Merge branch 'jc/test-lib-source-build-options-early' Reorders t/test-lib.sh so that we dot-source GIT-BUILD-OPTIONS that records the shell and Perl the user told us to use with Git a lot early, so that test-lib.sh script itself can use "$PERL_PATH" in one of its early operations. * jc/test-lib-source-build-options-early: test-lib: reorder and include GIT-BUILD-OPTIONS a lot earlier | 25 July 2012, 22:47:08 UTC |
0d94427 | Junio C Hamano | 25 July 2012, 22:47:04 UTC | Merge branch 'mm/config-xdg' Finishing touches to the XDG support (new feature for 1.7.12) and tests. * mm/config-xdg: t1306: check that XDG_CONFIG_HOME works ignore: make sure we have an xdg path before using it attr: make sure we have an xdg path before using it test-lib.sh: unset XDG_CONFIG_HOME | 25 July 2012, 22:47:05 UTC |
7b9f29c | Junio C Hamano | 25 July 2012, 22:46:59 UTC | Merge branch 'cw/rebase-i-root' Finishing touches to the "rebase -i --root" (new feature for 1.7.12). * cw/rebase-i-root: rebase -i: handle fixup of root commit correctly | 25 July 2012, 22:46:59 UTC |
b00445b | Junio C Hamano | 25 July 2012, 22:46:06 UTC | Merge branch 'mh/maint-revisions-doc' * mh/maint-revisions-doc: Enumerate revision range specifiers in the documentation Make <refname> documentation more consistent. | 25 July 2012, 22:46:06 UTC |
add416a | Jeff King | 25 July 2012, 21:57:30 UTC | checkout: don't confuse ref and object flags When we are leaving a detached HEAD, we do a revision traversal to check whether we are orphaning any commits, marking the commit we're leaving as the start of the traversal, and all existing refs as uninteresting. Prior to commit 468224e5, we did so by calling for_each_ref, and feeding each resulting refname to setup_revisions. Commit 468224e5 refactored this to simply mark the pending objects, saving an extra lookup. However, it confused the "flags" parameter to the each_ref_fn clalback, which is about the flags we found while looking up the ref with the object flag. Because REF_ISSYMREF ("this ref is a symbolic ref, e.g. refs/remotes/origin/HEAD") happens to be the same bit pattern as SEEN ("we have picked this object up from the pending list and moved it to revs.commits list"), we incorrectly reported that a commit previously at the detached HEAD will become unreachable if the only ref that can reach the commit happens to be pointed at by a symbolic ref. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 July 2012, 22:37:05 UTC |
be8779f | Daniel Graña | 22 July 2012, 14:49:44 UTC | git-submodule: work with GIT_DIR/GIT_WORK_TREE The combination of GIT_DIR and GIT_WORK_TREE can be used to manage files in one directory hierarchy while keeping the repository that keeps track of them outside the directory hierarchy. For example: git init --bare /path/to/there alias dotfiles="GIT_DIR=/path/to/there GIT_WORK_TREE=/path/to/here git" cd /path/to/here dotfiles add file dotfiles commit -a -m "add /path/to/here/file" ... lets you manage files under /path/to/here/ in the repository located at /path/to/there. git-submodule however fails to add submodules, as it is confused by GIT_DIR and GIT_WORK_TREE environment variables when it tries to work in the submodule, like so: dotfiles submodule add http://path.to/submodule fatal: working tree '/path/to/here' already exists. Simply unsetting the environment where the command works on the submodule is sufficient to fix this, as it has set things up so that GIT_DIR and GIT_WORK_TREE do not even have to point at the repository and the working tree of the submodule. Signed-off-by: Daniel Graña <dangra@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 July 2012, 18:33:24 UTC |
6a17f58 | Junio C Hamano | 25 July 2012, 18:01:12 UTC | help.c::exclude_cmds(): plug a leak Command name removed from the list of commands via the exclusion were overwritten and lost without being freed. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 July 2012, 18:08:59 UTC |
4a15758 | Jeff King | 25 July 2012, 16:16:19 UTC | help.c::uniq: plug a leak We observe that the j-1 element can serve the same purpose as the i-1 element that we use in the strcmp(); it is either: 1. Exactly i-1, when the loop begins (and until we see a duplicate). 2. The same pointer that was stored at i-1 (if it was not a duplicate, and we just copied it into place). 3. A pointer to an equivalent string (i.e., we rejected i-1 _because_ it was identical to j-1). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 July 2012, 17:23:54 UTC |
c7108bf | Jiang Xin | 25 July 2012, 14:53:08 UTC | i18n: rebase: mark messages for translation Mark messages in git-rebase.sh for translation. While doing this Jonathan noticed that the comma usage and sentence structure of the resolvemsg was not quite right, so correct that and its cousins in git-am.sh and t/t0201-gettext-fallbacks.sh at the same time. Some tests would start to fail with GETTEXT_POISON turned on after this update. Use test_i18ncmp and test_i18ngrep where appropriate to mark strings that should only be checked in the C locale output to avoid such issues. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> Reviewed-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 July 2012, 17:09:14 UTC |
c2d140d | Jiang Xin | 25 July 2012, 14:53:07 UTC | i18n: New keywords for xgettext extraction from sh Since we have additional shell wrappers (gettextln and eval_gettextln) for gettext, we need to take into account these wrappers when running 'make pot' to extract messages from shell scripts. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> Reviewed-by: Stefano Lattarini <stefano.lattarini@gmail.com> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 July 2012, 17:06:50 UTC |
ca5ee2d | Junio C Hamano | 24 July 2012, 22:03:50 UTC | Enumerate revision range specifiers in the documentation It was a bit hard to learn how <rev>^@, <rev>^! and various other forms of range specifiers are used, because they were discussed mostly in the prose part of the documentation, unlike various forms of extended SHA-1 expressions that are listed in an enumerated list. Also add a few more examples showing use of <rev>, <rev>..<rev> and <rev>^! forms, stolen from a patch by Max Horn. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 July 2012, 22:03:50 UTC |
476109f | Junio C Hamano | 24 July 2012, 21:08:43 UTC | Update draft release notes to 1.7.12 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 July 2012, 21:08:43 UTC |
cf78648 | Junio C Hamano | 24 July 2012, 21:05:26 UTC | Merge branch 'jc/mergetool-tool-help' "git mergetool" did not support --tool-help option to give the list of supported backends, like "git difftool" does. * jc/mergetool-tool-help: mergetool: support --tool-help option like difftool does | 24 July 2012, 21:05:26 UTC |
9c3f19f | Junio C Hamano | 24 July 2012, 21:05:22 UTC | Merge branch 'jk/maint-commit-document-editmsg' Document $GIT_DIR/COMMIT_EDITMSG file. * jk/maint-commit-document-editmsg: commit: document the temporary commit message file | 24 July 2012, 21:05:23 UTC |
18502e3 | Junio C Hamano | 24 July 2012, 21:05:18 UTC | Merge branch 'jk/maint-commit-check-committer-early' "git commit --amend" let the user edit the log message and then died when the human-readable committer name was given insufficiently by getpwent(3). * jk/maint-commit-check-committer-early: commit: check committer identity more strictly | 24 July 2012, 21:05:18 UTC |
31c4c83 | Junio C Hamano | 24 July 2012, 21:05:08 UTC | Merge branch 'jk/maint-advise-vaddf' The advise() function did not use varargs correctly to format its message. * jk/maint-advise-vaddf: advice: pass varargs to strbuf_vaddf, not strbuf_addf | 24 July 2012, 21:05:08 UTC |
f628825 | Jeff King | 24 July 2012, 13:43:59 UTC | t/lib-httpd: handle running under --valgrind Running the http tests with valgrind does not work for two reasons: 1. Apache complains about following the symbolic link from git-http-backend to valgrind.sh. 2. Apache does not pass through the GIT_VALGRIND variable to the backend CGI. This patch fixes both problems. Unfortunately, there is a slight hack we need to handle passing environment variables through Apache. If we just tell it: PassEnv GIT_VALGRIND then Apache will complain when GIT_VALGRIND is not set. If we try: SetEnv GIT_VALGRIND ${GIT_VALGRIND} then when GIT_VALGRIND is not set, it will pass through the literal "${GIT_VALGRIND}". Instead, we now unconditionally pass through GIT_VALGRIND from lib-httpd.sh into apache, even if it is empty. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 July 2012, 19:43:44 UTC |
2147f84 | Chris Webb | 24 July 2012, 12:17:03 UTC | rebase -i: handle fixup of root commit correctly There is a bug with git rebase -i --root when a fixup or squash line is applied to the new root. We attempt to amend the commit onto which they apply with git reset --soft HEAD^ followed by a normal commit. Unlike a real commit --amend, this sequence will fail against a root commit as it has no parent. Fix rebase -i to use commit --amend for fixup and squash instead, and add a test for the case of a fixup of the root commit. Signed-off-by: Chris Webb <chris@arachsys.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 July 2012, 16:03:33 UTC |
22ae029 | Jeff King | 24 July 2012, 12:27:10 UTC | t1306: check that XDG_CONFIG_HOME works This should override $HOME/.config, but we never actually tested it. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 July 2012, 15:59:07 UTC |
6283a37 | Matthieu Moy | 24 July 2012, 12:26:51 UTC | ignore: make sure we have an xdg path before using it Commit e3ebc35 (config: fix several access(NULL) calls, 2012-07-12) was fixing access(NULL) calls when trying to access $HOME/.config/git/config, but missed the ones when trying to access $HOME/.config/git/ignore. Fix and test this. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 July 2012, 15:59:07 UTC |
f0c1c15 | Jeff King | 24 July 2012, 11:53:57 UTC | attr: make sure we have an xdg path before using it If we don't have a core.attributesfile configured, we fall back to checking XDG config, which is usually $HOME/.config/git/attributes. However, if $HOME is unset, then home_config_paths will return NULL, and we end up calling fopen(NULL). Depending on your system, this may or may not cause the accompanying test to fail (e.g., on Linux and glibc, the address will go straight to open, which will return EFAULT). However, valgrind will reliably notice the error. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 July 2012, 15:59:07 UTC |
5adf84e | Jeff King | 24 July 2012, 11:53:05 UTC | test-lib.sh: unset XDG_CONFIG_HOME Now that git respects XDG_CONFIG_HOME for some lookups, we must be sure to cleanse the test environment. Otherwise, the user's XDG_CONFIG_HOME could influence the test results. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 July 2012, 15:59:07 UTC |
ccc1188 | Junio C Hamano | 24 July 2012, 04:02:06 UTC | Git 1.7.12-rc0 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 July 2012, 04:02:06 UTC |
ebcfa44 | Junio C Hamano | 24 July 2012, 03:56:46 UTC | Merge branch 'jn/block-sha1' The code to load a word one-byte-at-a-time was optimized into a word-wide load instruction even when the pointer was not aligned, which caused issues on architectures that do not like unaligned access. * jn/block-sha1: Makefile: BLK_SHA1 does not require fast htonl() and unaligned loads block-sha1: put expanded macro parameters in parentheses block-sha1: avoid pointer conversion that violates alignment constraints | 24 July 2012, 03:56:47 UTC |
fee4426 | Junio C Hamano | 24 July 2012, 03:56:39 UTC | Merge branch 'jn/make-assembly-in-right-directory' * jn/make-assembly-in-right-directory: Makefile: fix location of listing produced by "make subdir/foo.s" | 24 July 2012, 03:56:39 UTC |
b18c74c | Junio C Hamano | 24 July 2012, 03:56:17 UTC | Merge branch 'th/difftool-diffall' Finishing touches to difftool --dirdiff. * th/difftool-diffall: difftool: only copy back files modified during directory diff | 24 July 2012, 03:56:17 UTC |
a122c42 | Junio C Hamano | 24 July 2012, 03:56:13 UTC | Merge branch 'sl/autoconf' * sl/autoconf: build: reconfigure automatically if configure.ac changes build: "make clean" should not remove configure-generated files autoconf: use AC_CONFIG_COMMANDS instead of ad-hoc 'config.mak.append' autoconf: remove few redundant semicolons autoconf: remove some redundant shell indirections autoconf: GIT_CONF_APPEND_LINE -> GIT_CONF_SUBST autoconf: GIT_CONF_APPEND_LINE: change signature | 24 July 2012, 03:56:13 UTC |
7ccb945 | Junio C Hamano | 24 July 2012, 03:56:03 UTC | Merge branch 'jv/maint-no-ext-diff' "git diff --no-ext-diff" did not output anything for a typechange filepair when GIT_EXTERNAL_DIFF is in effect. * jv/maint-no-ext-diff: diff: test precedence of external diff drivers diff: correctly disable external_diff with --no-ext-diff | 24 July 2012, 03:56:03 UTC |
a7fe78a | Junio C Hamano | 24 July 2012, 03:55:53 UTC | Merge branch 'kk/maint-commit-tree' * kk/maint-commit-tree: Revert "git-commit-tree(1): update synopsis" commit-tree: resurrect command line parsing updates | 24 July 2012, 03:55:54 UTC |
9837911 | Junio C Hamano | 24 July 2012, 03:55:33 UTC | Merge branch 'jk/mediawiki-credential' * jk/mediawiki-credential: mw-to-git: use git-credential's URL parser credential: convert "url" attribute into its parsed subparts mw-to-git: check blank credential attributes via length docs/credential: minor clarity fixups | 24 July 2012, 03:55:33 UTC |
331eb92 | Junio C Hamano | 24 July 2012, 03:55:25 UTC | Merge branch 'mm/mediawiki-usability' * mm/mediawiki-usability: git-remote-mediawiki: allow page names with a ':' git-remote-mediawiki: fix incorrect test usage in test git-remote-mediawiki: properly deal with invalid remote revisions git-remote-mediawiki: show progress information when getting last remote revision git-remote-mediawiki: show progress information when listing pages git-remote-mediawiki: use --force when adding notes git-remote-mediawiki: get rid of O(N^2) loop git-remote-mediawiki: make mediafiles export optional git-remote-mediawiki: actually send empty comment when they're empty git-remote-mediawiki: don't split namespaces with spaces | 24 July 2012, 03:55:25 UTC |
9068397 | Junio C Hamano | 24 July 2012, 03:55:21 UTC | Merge branch 'sn/doc-typofix' * sn/doc-typofix: doc: A few minor copy edits. | 24 July 2012, 03:55:22 UTC |
30ea575 | Junio C Hamano | 24 July 2012, 03:55:16 UTC | Merge branch 'tg/ce-namelen-field' Split lower bits of ce_flags field and creates a new ce_namelen field in the in-core index structure. * tg/ce-namelen-field: Strip namelen out of ce_flags into a ce_namelen field | 24 July 2012, 03:55:21 UTC |
6da9ded | Junio C Hamano | 24 July 2012, 03:55:07 UTC | Merge branch 'nk/maint-gitweb-log-by-lines' Teach gitweb to pay attention to various forms of credits that are similar to "Signed-off-by:" lines. * nk/maint-gitweb-log-by-lines: gitweb: Add support to Link: tag gitweb: Handle other types of tag in git_print_log gitweb: Cleanup git_print_log() | 24 July 2012, 03:55:07 UTC |
41f597d | Jeff King | 23 July 2012, 21:13:12 UTC | commit: document the temporary commit message file We do not document COMMIT_EDITMSG at all, but users may want to know about it for two reasons: 1. They may want to tell their editor to configure itself for formatting a commit message. 2. If a commit is aborted by an error, the user may want to recover the commit message they typed. Let's put a note in git-commit(1). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 July 2012, 22:10:36 UTC |
109859e | Junio C Hamano | 23 July 2012, 21:16:12 UTC | mergetool: support --tool-help option like difftool does This way we do not have to risk the list of tools going out of sync between the implementation and the documentation. In the same spirit as bf73fc2 (difftool: print list of valid tools with '--tool-help', 2012-03-29), trim the list of merge backends in the documentation. We do not want to have a complete list of valid tools; we only want a list to help people guess what kind of things the tools do to be specified there, and refer them to --tool-help for a complete list. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 July 2012, 21:42:39 UTC |
f20f387 | Jeff King | 23 July 2012, 18:50:35 UTC | commit: check committer identity more strictly The identity of the committer will ultimately be pulled from the ident code by commit_tree(). However, we make an attempt to check the author and committer identity early, before the user has done any manual work like inputting a commit message. That lets us abort without them having to worry about salvaging the work from .git/COMMIT_EDITMSG. The early check for committer ident does not use the IDENT_STRICT flag, meaning that it would not find an empty name field. The motivation was presumably because we did not want to be too restrictive, as later calls might be more lax (for example, when we create the reflog entry, we do not care too much about a real name). However, because commit_tree will always get a strict identity to put in the commit object itself, there is no point in being lax only to die later (and in fact it is harmful, because the user will have wasted time typing their commit message). Incidentally, this bug was masked prior to 060d4bb, as the initial loose call would taint the later strict call. So the commit would succeed (albeit with a bogus committer line in the commit object), and nobody noticed that our early check did not match the later one. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 July 2012, 20:27:21 UTC |
447b99c | Jeff King | 23 July 2012, 18:48:57 UTC | advice: pass varargs to strbuf_vaddf, not strbuf_addf The advise() function takes a variable number of arguments and converts them into a va_list object to pass to strbuf for handling. However, we accidentally called strbuf_addf (that takes a variable number of arguments) instead of strbuf_vaddf (that takes a va_list). This bug dates back to v1.7.8.1-1-g23cb5bf, but we never noticed because none of the current callers passes a string with a format specifier in it. And the compiler did not notice because the format string is not available at compile time. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 July 2012, 20:10:43 UTC |
f200197 | Jonathan Nieder | 23 July 2012, 06:29:14 UTC | Makefile: BLK_SHA1 does not require fast htonl() and unaligned loads block-sha1/ is fast on most known platforms. Clarify the Makefile to be less misleading about that. Early versions of block-sha1/ explicitly relied on fast htonl() and fast 32-bit loads with arbitrary alignment. Now it uses those on some arches but the default behavior is byte-at-a-time access for the sake of arches like ARM, Alpha, and their kin and it is still pretty fast on these arches (fast enough to supersede the mozilla SHA1 implementation and the hand-written ARM assembler implementation that were bundled before). Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 July 2012, 16:41:29 UTC |