Commit Graph

29898 Commits

Author SHA1 Message Date
Junio C Hamano
d7d3b56bb1 Merge branch 'rj/maint-grep-remove-redundant-test' into maint
* rj/maint-grep-remove-redundant-test:
  t7810-*.sh: Remove redundant test
2012-08-15 13:37:20 -07:00
Junio C Hamano
45b65a6b67 Merge branch 'hv/link-alt-odb-entry' into maint
* hv/link-alt-odb-entry:
  link_alt_odb_entry: fix read over array bounds reported by valgrind
2012-08-15 13:36:47 -07:00
Peter Baumann
61b472ed8b git svn: reset invalidates the memoized mergeinfo caches
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 68f532f4ba 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-10 19:53:18 +00:00
Robert Luberda
e48fb750f5 git svn: handle errors and concurrent commits in dcommit
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-10 19:53:18 +00:00
Junio C Hamano
034161a94e Merge git://github.com/git-l10n/git-po
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-09 10:51:46 -07:00
Peter Krefting
cc2f50dafe l10n: Update Swedish translation (1168t0f0u)
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2012-08-09 06:39:17 +01:00
Junio C Hamano
e5acacfb48 Merge branch 'bw/maint-1.7.9-solaris-getpass'
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-08 15:14:58 -07:00
Matthieu Moy
fa0aad4ff5 Documentation: list git-credential in plumbing commands
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-08 09:59:17 -07:00
Jiang Xin
da53e27e94 Merge git://github.com/ralfth/git-po-de
* git://github.com/ralfth/git-po-de:
  l10n: de.po: translate 77 new messages
2012-08-08 07:23:01 +08:00
Junio C Hamano
e15c16de39 Git 1.7.12-rc2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-07 10:39:34 -07:00
Ralf Thielow
33a54e7d9a l10n: de.po: translate 77 new messages
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-07 18:41:18 +02:00
Ben Walton
436783c95a Enable HAVE_DEV_TTY for Solaris
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-06 22:12:43 -07:00
Jeff King
67ba123fd1 terminal: seek when switching between reading and writing
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-06 22:11:47 -07:00
Tran Ngoc Quan
58b66f8f76 l10n: vi.po: update one message
* Translate message that updated from commit bb2ba06

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2012-08-07 07:22:59 +07:00
Junio C Hamano
b1d9b1d0f1 Drop 1.7.11.x items from 1.7.12 release notes
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-06 15:58:38 -07:00
Junio C Hamano
9ffdd46ae4 Sync with maint 2012-08-06 15:53:33 -07:00
Junio C Hamano
b17a01df49 Prepare for 1.7.11.5
Hopefully that will be the final 1.7.11.x maintenance release.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-06 15:51:58 -07:00
Junio C Hamano
c8dacba762 Merge branch 'jn/block-sha1' into maint
* 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-06 15:40:00 -07:00
Junio C Hamano
dbf64e125a Merge branch 'jn/make-assembly-in-right-directory' into maint
* jn/make-assembly-in-right-directory:
  Makefile: fix location of listing produced by "make subdir/foo.s"
2012-08-06 15:39:38 -07:00
Junio C Hamano
c2e585f530 Merge branch 'ms/daemon-doc-typo' into maint
* ms/daemon-doc-typo:
  Documentation/git-daemon: add missing word
2012-08-06 15:39:16 -07:00
Junio C Hamano
05f5ba6b5d Merge branch 'lm/git-blame-el' into maint
* 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-06 15:37:54 -07:00
Junio C Hamano
125f6435b1 Merge branch 'rs/ipv6-ssh-url' into maint
* rs/ipv6-ssh-url:
  git: Wrong parsing of ssh urls with IPv6 literals ignores port
2012-08-06 15:37:43 -07:00
Junio C Hamano
e597c43de2 Merge branch 'rs/git-blame-mapcar-mapc' into maint
* rs/git-blame-mapcar-mapc:
  git-blame.el: use mapc instead of mapcar
2012-08-06 15:37:28 -07:00
Junio C Hamano
809b262543 Merge branch 'rr/doc-commit' into maint
* rr/doc-commit:
  commit: document a couple of options
2012-08-06 15:37:09 -07:00
Štěpán Němec
7615cb005b doc: A few minor copy edits.
- (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-06 15:34:20 -07:00
Junio C Hamano
1b8e822e57 Merge branch 'jk/maint-checkout-orphan-check-fix' into maint
* jk/maint-checkout-orphan-check-fix:
  checkout: don't confuse ref and object flags
2012-08-06 15:31:16 -07:00
Junio C Hamano
eb536007df Merge branch 'mh/maint-revisions-doc' into maint
* mh/maint-revisions-doc:
  Enumerate revision range specifiers in the documentation
  Make <refname> documentation more consistent.
2012-08-06 15:30:57 -07:00
Junio C Hamano
f52a386ef2 Merge branch 'jc/mergetool-tool-help' into maint
* jc/mergetool-tool-help:
  mergetool: support --tool-help option like difftool does
2012-08-06 15:30:18 -07:00
Johannes Sixt
9145b19ecf Makefile: use overridable $(FIND) instead of hard-coded 'find'
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-06 14:21:13 -07:00
Jiang Xin
e5e38ce485 l10n: zh_CN.po: update one translation
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-07 01:10:34 +08:00
Jiang Xin
bb2ba06fd3 l10n: Update one message in git.pot
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-06 23:48:08 +08:00
Junio C Hamano
bfbf4d477a Merge git://github.com/git-l10n/git-po
* 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-05 20:51:05 -07:00
Ralf Thielow
e0453cd8f0 merge-recursive: separate message for common ancestors
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-05 12:34:57 -07:00
Jiang Xin
649900bc12 l10n: zh_CN.po: translate 76 new messages
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-05 07:12:27 +08:00
Matthieu Moy
9a7365cfa4 git-remote-mediawiki: replace TODO-list in comment by appropriate link
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-03 09:13:28 -07:00
Tran Ngoc Quan
9802f22966 l10n: vi.po update to follow POT in 3b613
* Translated 76 new messages

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2012-08-03 14:28:51 +07:00
Jiang Xin
3b6137f253 l10n: Update git.pot (76 new, 4 removed messages)
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-02 09:35:23 +08:00
Junio C Hamano
05a20c87ab 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)
2012-08-01 15:59:08 -07:00
Ralf Thielow
e39beac673 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>
2012-08-01 13:58:47 -07:00
Junio C Hamano
97c7934049 Merge branch 'nd/maint-i18n-diffstat'
* nd/maint-i18n-diffstat:
  i18n: leave \n out of translated diffstat
2012-07-31 09:43:07 -07:00
Junio C Hamano
5fe1484a9b 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
2012-07-31 09:41:52 -07:00
Ralf Thielow
9c87b0d28f 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>
2012-07-31 17:01:15 +02:00
Tran Ngoc Quan
fd4652ed54 l10n: vi.po: translate 4 new messages
Update Vietnamse translation to POT file in 0bbe5b4

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2012-07-31 07:45:53 +07:00
Jiang Xin
23ff333803 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>
2012-07-31 06:45:33 +08:00
Junio C Hamano
3b2d763db0 Git 1.7.12-rc1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-07-30 13:20:00 -07:00
Junio C Hamano
9c9b9ede90 Sync with 1.7.11.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-07-30 13:18:18 -07:00
Junio C Hamano
0e4c8822e9 Git 1.7.11.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-07-30 13:16:51 -07:00
Junio C Hamano
f17adbce64 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
2012-07-30 13:05:36 -07:00
Junio C Hamano
5c992a1326 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
2012-07-30 13:05:25 -07:00
Junio C Hamano
2e3710bdf9 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
2012-07-30 13:05:13 -07:00