summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-08-15Merge branch 'hv/link-alt-odb-entry' into maintJunio C Hamano
* hv/link-alt-odb-entry: link_alt_odb_entry: fix read over array bounds reported by valgrind
2012-08-10git svn: reset invalidates the memoized mergeinfo cachesPeter Baumann
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'. This memoization can cause problems, e.g consider the following case: SVN repo: ... - a - b - c - m <- trunk \ / d - e <- branch1 The Git import of the above repo is at commit 'a' and doesn't know about the branch1. In case of an 'git svn rebase', only the trunk of the SVN repo is imported. During the creation of the git commit 'm', git svn uses the svn:mergeinfo property and tries to find the corresponding git commit 'e' to create 'm' with 'c' and 'e' as parents. But git svn rebase only imports the current branch so commit 'e' is not imported. Therefore git svn fails to create commit 'm' as a merge commit, because one of its parents is not known to git. The imported history looks like this: ... - a - b - c - m <- trunk A later 'git svn fetch' to import all branches can't rewrite the commit 'm' to add 'e' as a parent and to make it a real git merge commit, because it was already imported. That's why the imported history misses the merge and looks like this: ... - a - b - c - m <- trunk \ d - e <- branch1 Right now the only known workaround for importing 'm' as a merge is to force reimporting 'm' again from SVN, e.g. via $ git svn reset --revision $(git find-rev $c) $ git svn fetch Sadly, this is where the behavior has regressed: git svn reset doesn't invalidate the old mergeinfo cache, which is no longer valid for the reimport, which leads to 'm' beeing imprted with only 'c' as parent. As solution to this problem, this commit invalidates the mergeinfo cache to force correct recalculation of the parents. During development of this patch, several ways for invalidating the cache where considered. One of them is to use Memoize::flush_cache, which will call the CLEAR method on the underlying Memoize persistency implementation. Sadly, neither Memoize::Storable nor the newer Memoize::YAML module introduced in 68f532f4ba888 could optionally be used implement the CLEAR method, so this is not an option. Reseting the internal hash used to store the memoized values has the same problem, because it calls the non-existing CLEAR method of the underlying persistency layer, too. Considering this and taking into account the different implementations of the memoization modules, where Memoize::Storable is not in our control, implementing the missing CLEAR method is not an option, at least not if Memoize::Storable is still used. Therefore the easiest solution to clear the cache is to delete the files on disk in 'git svn reset'. Normally, deleting the files behind the back of the memoization module would be problematic, because the in-memory representation would still exist and contain wrong data. Fortunately, the memoization is active in memory only for a small portion of the code. Invalidating the cache by deleting the files on disk if it isn't active should be safe. Signed-off-by: Peter Baumann <waste.manager@gmx.de> Signed-off-by: Steven Walter <stevenrwalter@gmail.com> Signed-off-by: Eric Wong <normalperson@yhbt.net>
2012-08-10git svn: handle errors and concurrent commits in dcommitRobert Luberda
dcommit didn't handle errors returned by SVN and coped very poorly with concurrent commits that appear in SVN repository while dcommit was running. In both cases it left git repository in inconsistent state: index (which was reset with `git reset --mixed' after a successful commit to SVN) no longer matched the checkouted tree, when the following commit failed or needed to be rebased. See http://bugs.debian.org/676904 for examples. This patch fixes the issues by: - introducing error handler for dcommit. The handler will try to rebase or reset working tree before returning error to the end user. dcommit_rebase function was extracted out of cmd_dcommit to ensure consistency between cmd_dcommit and the error handler. - calling `git reset --mixed' only once after all patches are successfully committed to SVN. This ensures index is not touched for most of the time of dcommit run. Signed-off-by: Eric Wong <normalperson@yhbt.net>
2012-08-09Merge git://github.com/git-l10n/git-poJunio C Hamano
L10n updates for 1.7.12-rc2 * 'master' of git://github.com/git-l10n/git-po: l10n: Update Swedish translation (1168t0f0u) l10n: de.po: translate 77 new messages l10n: vi.po: update one message l10n: zh_CN.po: update one translation l10n: Update one message in git.pot
2012-08-09l10n: Update Swedish translation (1168t0f0u)Peter Krefting
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2012-08-08Merge branch 'bw/maint-1.7.9-solaris-getpass'Junio C Hamano
The recent update to terminal I/O interface to get passwords &c interactively didn't quite work on Solaris. * bw/maint-1.7.9-solaris-getpass: Enable HAVE_DEV_TTY for Solaris terminal: seek when switching between reading and writing
2012-08-08Documentation: list git-credential in plumbing commandsMatthieu Moy
Commit e30b2feb1b (Jun 24 2012, add 'git credential' plumbing command) forgot to add git-credential to command-list.txt, hence the command was not appearing in the documentation, making it hard for users to discover it. While we're there, capitalize the description line for git-crendential for consistency with other commands. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-07Merge git://github.com/ralfth/git-po-deJiang Xin
* git://github.com/ralfth/git-po-de: l10n: de.po: translate 77 new messages
2012-08-07Git 1.7.12-rc2v1.7.12-rc2Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-07l10n: de.po: translate 77 new messagesRalf Thielow
Translate 77 new messages came from git.pot update in 3b6137f (l10n: Update git.pot (76 new, 4 removed messages)) and bb2ba06 (l10n: Update one message in git.pot). Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Signed-off-by: Thomas Rast <trast@student.ethz.ch>
2012-08-07Enable HAVE_DEV_TTY for SolarisBen Walton
Now that git_terminal_prompt can cleanly interact with /dev/tty on Solaris, enable HAVE_DEV_TTY so that this code path is used for credential reading instead of relying on the crippled getpass(). Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-07terminal: seek when switching between reading and writingJeff King
When a stdio stream is opened in update mode (e.g., "w+"), the C standard forbids switching between reading or writing without an intervening positioning function. Many implementations are lenient about this, but Solaris libc will flush the recently-read contents to the output buffer. In this instance, that meant writing the non-echoed password that the user just typed to the terminal. Fix it by inserting a no-op fseek between the read and write. The opposite direction (writing followed by reading) is also disallowed, but our intervening fflush is an acceptable positioning function for that alternative. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-07l10n: vi.po: update one messageTran Ngoc Quan
* Translate message that updated from commit bb2ba06 Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2012-08-06Drop 1.7.11.x items from 1.7.12 release notesJunio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-06Sync with maintJunio C Hamano
2012-08-06Prepare for 1.7.11.5Junio C Hamano
Hopefully that will be the final 1.7.11.x maintenance release. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-06Merge branch 'jn/block-sha1' into maintJunio C Hamano
* 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
2012-08-06Merge branch 'jn/make-assembly-in-right-directory' into maintJunio C Hamano
* jn/make-assembly-in-right-directory: Makefile: fix location of listing produced by "make subdir/foo.s"
2012-08-06Merge branch 'ms/daemon-doc-typo' into maintJunio C Hamano
* ms/daemon-doc-typo: Documentation/git-daemon: add missing word
2012-08-06Merge branch 'lm/git-blame-el' into maintJunio C Hamano
* lm/git-blame-el: git-blame.el: Do not use bare 0 to mean (point-min) git-blame.el: Use with-current-buffer where appropriate git-blame.el: Do not use goto-line in lisp code
2012-08-06Merge branch 'rs/ipv6-ssh-url' into maintJunio C Hamano
* rs/ipv6-ssh-url: git: Wrong parsing of ssh urls with IPv6 literals ignores port
2012-08-06Merge branch 'rs/git-blame-mapcar-mapc' into maintJunio C Hamano
* rs/git-blame-mapcar-mapc: git-blame.el: use mapc instead of mapcar
2012-08-06Merge branch 'rr/doc-commit' into maintJunio C Hamano
* rr/doc-commit: commit: document a couple of options
2012-08-06doc: A few minor copy edits.Štěpán Němec
- (glossary) the quotes around the Wikipedia URL prevented its linkification in frontends that support it; remove them - (manual) newer version (SHA-1) == following, older == preceding, not the other way around - trivial typo and wording fixes Signed-off-by: Štěpán Němec <stepnem@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-06Merge branch 'jk/maint-checkout-orphan-check-fix' into maintJunio C Hamano
* jk/maint-checkout-orphan-check-fix: checkout: don't confuse ref and object flags
2012-08-06Merge branch 'mh/maint-revisions-doc' into maintJunio C Hamano
* mh/maint-revisions-doc: Enumerate revision range specifiers in the documentation Make <refname> documentation more consistent.
2012-08-06Merge branch 'jc/mergetool-tool-help' into maintJunio C Hamano
* jc/mergetool-tool-help: mergetool: support --tool-help option like difftool does
2012-08-06Makefile: use overridable $(FIND) instead of hard-coded 'find'Johannes Sixt
The Makefile already offers the variable $(FIND) and uses it except in one place. Fix it. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-06l10n: zh_CN.po: update one translationJiang Xin
Translate 1 new messages came from git.pot update in bb2ba06 (l10n: Update one message in git.pot) Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2012-08-06l10n: Update one message in git.potJiang Xin
This update comes from commit v1.7.12-rc1-18-ge0453 (merge-recursive: separate message for common ancestors). Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2012-08-06Merge git://github.com/git-l10n/git-poJunio C Hamano
* git://github.com/git-l10n/git-po: l10n: zh_CN.po: translate 76 new messages l10n: vi.po update to follow POT in 3b613 l10n: Update git.pot (76 new, 4 removed messages)
2012-08-05merge-recursive: separate message for common ancestorsRalf Thielow
The function "merge_recursive" prints the count of common ancestors as "found %u common ancestor(s):". We should use a singular and a plural form of this message to help translators. Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-04l10n: zh_CN.po: translate 76 new messagesJiang Xin
Translate 76 new messages came from git.pot update in 3b6137f (l10n: Update git.pot (76 new, 4 removed messages)) Thynson reviewed this update and also contributed other improvements: * blob -> 二进制对象(blob) * 共用 -> 同时使用 Signed-off-by: Jiang Xin <worldhello.net@gmail.com> Reviewed-by: Thynson <lanxingcan@gmail.com>
2012-08-03git-remote-mediawiki: replace TODO-list in comment by appropriate linkMatthieu Moy
My account on Github is now used as wiki and issue tracking. This will be more flexible than in-tree management of a TODO-list. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-03l10n: vi.po update to follow POT in 3b613Tran Ngoc Quan
* Translated 76 new messages Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2012-08-02l10n: Update git.pot (76 new, 4 removed messages)Jiang Xin
Generate po/git.pot from v1.7.12-rc1-16-g05a20, and there are 76 new, 4 removed l10n messages. * 76 new messages are added at lines: 230, 337-580, 4972, 4984, 4998, 5017, 5280-5378, 5654 * 4 old messages are deleted from the previous version at lines: 230, 4729, 4764, 5295 Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2012-08-01Merge git://github.com/git-l10n/git-poJunio C Hamano
* 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)
2012-08-01git-rebase.sh: fix typo in an error messageRalf Thielow
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>
2012-07-31Merge branch 'nd/maint-i18n-diffstat'Junio C Hamano
* nd/maint-i18n-diffstat: i18n: leave \n out of translated diffstat
2012-07-31Merge branch 'jx/i18n-1.7.11'Junio C Hamano
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
2012-07-31l10n: de.po: translate 4 new messagesRalf Thielow
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>
2012-07-31l10n: vi.po: translate 4 new messagesTran Ngoc Quan
Update Vietnamse translation to POT file in 0bbe5b4 Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2012-07-30l10n: zh_CN.po: translate 4 new messagesJiang Xin
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>
2012-07-30Git 1.7.12-rc1v1.7.12-rc1Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-07-30Sync with 1.7.11.4Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-07-30Git 1.7.11.4v1.7.11.4Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-07-30Merge branch 'jk/maint-commit-document-editmsg' into maintJunio C Hamano
"$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
2012-07-30Merge branch 'jk/maint-advise-vaddf' into maintJunio C Hamano
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
2012-07-30Merge branch 'kk/maint-commit-tree' into maintJunio C Hamano
"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
2012-07-30Merge branch 'jv/maint-no-ext-diff' into maintJunio C Hamano
"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