gitweb.git
Add a svnrdump-simulator replaying a dump file for... Florian Achleitner Wed, 19 Sep 2012 15:21:28 +0000 (17:21 +0200)

Add a svnrdump-simulator replaying a dump file for testing

To ease testing without depending on a reachable svn server, this
compact python script mimics parts of svnrdumps behaviour. It
requires the remote url to start with sim://.

Start and end revisions are evaluated. If the requested revision
doesn't exist, as it is the case with incremental imports, if no new
commit was added, it returns 1 (like svnrdump).

To allow using the same dump file for simulating multiple incremental
imports, the highest revision can be limited by setting the environment
variable SVNRMAX to that value. This simulates the situation where
higher revs don't exist yet.

Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Acked-by: David Michael Barr <b@rr-dav.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

remote-svn: add incremental importFlorian Achleitner Wed, 19 Sep 2012 15:21:27 +0000 (17:21 +0200)

remote-svn: add incremental import

Search for a note attached to the ref to update and read it's
'Revision-number:'-line. Start import from the next svn revision.

If there is no next revision in the svn repo, svnrdump terminates with
a message on stderr an non-zero return value. This looks a little
weird, but there is no other way to know whether there is a new
revision in the svn repo.

On the start of an incremental import, the parent of the first commit
in the fast-import stream is set to the branch name to update. All
following commits specify their parent by a mark number. Previous mark
files are currently not reused.

Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Acked-by: David Michael Barr <b@rr-dav.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

remote-svn: Activate import/export-marks for fast-importFlorian Achleitner Wed, 19 Sep 2012 15:21:26 +0000 (17:21 +0200)

remote-svn: Activate import/export-marks for fast-import

Enable import and export of a marks file by sending the appropriate
feature commands to fast-import before sending data.

Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Acked-by: David Michael Barr <b@rr-dav.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Create a note for every imported commit containing... Florian Achleitner Wed, 19 Sep 2012 15:21:25 +0000 (17:21 +0200)

Create a note for every imported commit containing svn metadata

To provide metadata from svn dumps for further processing, e.g.
branch detection, attach a note to each imported commit that stores
additional information. The notes are currently hard-coded in
refs/notes/svn/revs. Currently the following lines from the svn dump
are directly accumulated in the note. This can be refined as needed.

- "Revision-number"
- "Node-path"
- "Node-kind"
- "Node-action"
- "Node-copyfrom-path"
- "Node-copyfrom-rev"

Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Acked-by: David Michael Barr <b@rr-dav.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

vcs-svn: add fast_export_note to create notesDmitry Ivankov Wed, 19 Sep 2012 15:21:24 +0000 (17:21 +0200)

vcs-svn: add fast_export_note to create notes

fast_export lacked a method to writes notes to fast-import stream.
Add two new functions fast_export_note which is similar to
fast_export_modify. And also add fast_export_buf_to_data to be able to
write inline blobs that don't come from a line_buffer or from delta
application.

To be used like this:

fast_export_begin_commit("refs/notes/somenotes", ...)
fast_export_note("refs/heads/master", "inline")
fast_export_buf_to_data(&data)

or maybe

fast_export_note("refs/heads/master", sha1)

Signed-off-by: Dmitry Ivankov <divanorama@gmail.com>
Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Acked-by: David Michael Barr <b@rr-dav.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Allow reading svn dumps from files via file:// urlsFlorian Achleitner Wed, 19 Sep 2012 15:21:23 +0000 (17:21 +0200)

Allow reading svn dumps from files via file:// urls

For testing as well as for importing large, already available dumps,
it's useful to bypass svnrdump and replay the svndump from a file
directly.

Add support for file:// urls in the remote url, e.g.

svn::file:///path/to/dump

When the remote helper finds an url starting with file:// it tries to
open that file instead of invoking svnrdump.

Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Acked-by: David Michael Barr <b@rr-dav.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

remote-svn, vcs-svn: Enable fetching to private refsFlorian Achleitner Wed, 19 Sep 2012 15:21:22 +0000 (17:21 +0200)

remote-svn, vcs-svn: Enable fetching to private refs

The reference to update by the fast-import stream is hard-coded. When
fetching from a remote the remote-helper shall update refs in a
private namespace, i.e. a private subdir of refs/. This namespace is
defined by the 'refspec' capability, that the remote-helper advertises
as a reply to the 'capabilities' command.

Extend svndump and fast-export to allow passing the target ref.
Update svn-fe to be compatible.

Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Acked-by: David Michael Barr <b@rr-dav.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

When debug==1, start fast-import with "--stats" instead... Florian Achleitner Wed, 19 Sep 2012 15:21:21 +0000 (17:21 +0200)

When debug==1, start fast-import with "--stats" instead of "--quiet"

fast-import prints statistics that could be interesting to the
developer of remote helpers.

Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Acked-by: David Michael Barr <b@rr-dav.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add documentation for the 'bidi-import' capability... Florian Achleitner Wed, 19 Sep 2012 15:21:20 +0000 (17:21 +0200)

Add documentation for the 'bidi-import' capability of remote-helpers

Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Acked-by: David Michael Barr <b@rr-dav.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Connect fast-import to the remote-helper via pipe,... Florian Achleitner Wed, 19 Sep 2012 15:21:19 +0000 (17:21 +0200)

Connect fast-import to the remote-helper via pipe, adding 'bidi-import' capability

The fast-import commands 'cat-blob' and 'ls' can be used by
remote-helpers to retrieve information about blobs and trees that
already exist in fast-import's memory. This requires a channel from
fast-import to the remote-helper.

remote-helpers that use these features shall advertise the new
'bidi-import' capability to signal that they require the communication
channel. When forking fast-import in transport-helper.c connect it to
a dup of the remote-helper's stdin-pipe. The additional file
descriptor is passed to fast-import via its command line
(--cat-blob-fd). It follows that git and fast-import are connected to
the remote-helpers's stdin.

Because git can send multiple commands to the remote-helper on it's
stdin, it is required that helpers that advertise 'bidi-import' buffer
all input commands until the batch of 'import' commands is ended by a
newline before sending data to fast-import. This is to prevent mixing
commands and fast-import responses on the helper's stdin.

Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Acked-by: David Michael Barr <b@rr-dav.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add argv_array_detach and argv_array_free_detachedFlorian Achleitner Wed, 19 Sep 2012 15:21:18 +0000 (17:21 +0200)

Add argv_array_detach and argv_array_free_detached

Allow detaching of ownership of the argv_array's contents and add a
function to free those detached argv_arrays later.

This makes it possible to use argv_array efficiently with the exiting
struct child_process which only contains a member char **argv.

Add to documentation.

Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Acked-by: David Michael Barr <b@rr-dav.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add svndump_init_fd to allow reading dumps from arbitra... Florian Achleitner Wed, 19 Sep 2012 15:21:17 +0000 (17:21 +0200)

Add svndump_init_fd to allow reading dumps from arbitrary FDs

The existing function only allows reading from a filename or from
stdin. Allow passing of a FD and an additional FD for the back report
pipe. This allows us to retrieve the name of the pipe in the caller.

Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Acked-by: David Michael Barr <b@rr-dav.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add git-remote-testsvn to MakefileFlorian Achleitner Wed, 19 Sep 2012 15:21:16 +0000 (17:21 +0200)

Add git-remote-testsvn to Makefile

The link-rule is a copy of the standard git$X rule but adds VCSSVN_LIB.
Add executable to .gitignore.

Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Acked-by: David Michael Barr <b@rr-dav.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Implement a remote helper for svn in CFlorian Achleitner Wed, 19 Sep 2012 15:21:15 +0000 (17:21 +0200)

Implement a remote helper for svn in C

Enable basic fetching from subversion repositories. When processing
remote URLs starting with testsvn::, git invokes this remote-helper.
It starts svnrdump to extract revisions from the subversion repository
in the 'dump file format', and converts them to a git-fast-import stream
using the functions of vcs-svn/.

Imported refs are created in a private namespace at
refs/svn/<remote-name>/master. The revision history is imported
linearly (no branch detection) and completely, i.e. from revision 0 to
HEAD.

The 'bidi-import' capability is used. The remote-helper expects data
from fast-import on its stdin. It buffers a batch of 'import' command
lines in a string_list before starting to process them.

Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Acked-by: David Michael Barr <b@rr-dav.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jc/doc-git-updates' (early part)Junio C Hamano Fri, 17 Aug 2012 20:27:10 +0000 (13:27 -0700)

Merge branch 'jc/doc-git-updates' (early part)

* 'jc/doc-git-updates' (early part):
Documentation: update URL for formatted pages

Documentation: update URL for formatted pagesJunio C Hamano Fri, 17 Aug 2012 19:14:57 +0000 (12:14 -0700)

Documentation: update URL for formatted pages

The one at kernel.org has not been updated for quite a while and
can no longer be called "the latest".

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge git://github.com/git-l10n/git-po to update Swedis... Junio C Hamano Fri, 17 Aug 2012 03:13:45 +0000 (20:13 -0700)

Merge git://github.com/git-l10n/git-po to update Swedish translation

* git://github.com/git-l10n/git-po:
l10n: Fixes to Swedish translation

l10n: Fixes to Swedish translationPeter Krefting Tue, 14 Aug 2012 08:58:14 +0000 (09:58 +0100)

l10n: Fixes to Swedish translation

Tersify texts overflowing an 80-character terminal.
Fix spelling mistakes.

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>

Git 1.7.12-rc3 v1.7.12-rc3Junio C Hamano Wed, 15 Aug 2012 20:46:16 +0000 (13:46 -0700)

Git 1.7.12-rc3

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with 1.7.11.5Junio C Hamano Wed, 15 Aug 2012 20:41:17 +0000 (13:41 -0700)

Sync with 1.7.11.5

Git 1.7.11.5 v1.7.11.5Junio C Hamano Wed, 15 Aug 2012 20:39:53 +0000 (13:39 -0700)

Git 1.7.11.5

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'rj/maint-grep-remove-redundant-test'... Junio C Hamano Wed, 15 Aug 2012 20:37:20 +0000 (13:37 -0700)

Merge branch 'rj/maint-grep-remove-redundant-test' into maint

* rj/maint-grep-remove-redundant-test:
t7810-*.sh: Remove redundant test

Merge branch 'hv/link-alt-odb-entry' into maintJunio C Hamano Wed, 15 Aug 2012 20:36:47 +0000 (13:36 -0700)

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

git svn: reset invalidates the memoized mergeinfo cachesPeter Baumann Thu, 9 Aug 2012 06:42:53 +0000 (08:42 +0200)

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 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>

git svn: handle errors and concurrent commits in dcommitRobert Luberda Wed, 8 Aug 2012 05:35:00 +0000 (07:35 +0200)

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>

Merge git://github.com/git-l10n/git-poJunio C Hamano Thu, 9 Aug 2012 17:51:46 +0000 (10:51 -0700)

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

l10n: Update Swedish translation (1168t0f0u)Peter Krefting Thu, 9 Aug 2012 05:36:41 +0000 (06:36 +0100)

l10n: Update Swedish translation (1168t0f0u)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>

Merge branch 'bw/maint-1.7.9-solaris-getpass'Junio C Hamano Wed, 8 Aug 2012 22:14:57 +0000 (15:14 -0700)

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

Documentation: list git-credential in plumbing commandsMatthieu Moy Wed, 8 Aug 2012 07:58:27 +0000 (09:58 +0200)

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>

Merge git://github.com/ralfth/git-po-deJiang Xin Tue, 7 Aug 2012 23:23:01 +0000 (07:23 +0800)

Merge git://github.com/ralfth/git-po-de

* git://github.com/ralfth/git-po-de:
l10n: de.po: translate 77 new messages

Git 1.7.12-rc2 v1.7.12-rc2Junio C Hamano Tue, 7 Aug 2012 17:39:34 +0000 (10:39 -0700)

Git 1.7.12-rc2

Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: de.po: translate 77 new messagesRalf Thielow Thu, 2 Aug 2012 16:06:12 +0000 (18:06 +0200)

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>

Enable HAVE_DEV_TTY for SolarisBen Walton Tue, 7 Aug 2012 03:07:42 +0000 (23:07 -0400)

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>

terminal: seek when switching between reading and writingJeff King Tue, 7 Aug 2012 04:10:26 +0000 (00:10 -0400)

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>

l10n: vi.po: update one messageTran Ngoc Quan Tue, 7 Aug 2012 00:18:01 +0000 (07:18 +0700)

l10n: vi.po: update one message

* Translate message that updated from commit bb2ba06

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>

Drop 1.7.11.x items from 1.7.12 release notesJunio C Hamano Mon, 6 Aug 2012 22:58:38 +0000 (15:58 -0700)

Drop 1.7.11.x items from 1.7.12 release notes

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with maintJunio C Hamano Mon, 6 Aug 2012 22:53:33 +0000 (15:53 -0700)

Sync with maint

Prepare for 1.7.11.5Junio C Hamano Mon, 6 Aug 2012 22:51:58 +0000 (15:51 -0700)

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>

Merge branch 'jn/block-sha1' into maintJunio C Hamano Mon, 6 Aug 2012 22:40:00 +0000 (15:40 -0700)

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

Merge branch 'jn/make-assembly-in-right-directory'... Junio C Hamano Mon, 6 Aug 2012 22:39:38 +0000 (15:39 -0700)

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"

Merge branch 'ms/daemon-doc-typo' into maintJunio C Hamano Mon, 6 Aug 2012 22:39:16 +0000 (15:39 -0700)

Merge branch 'ms/daemon-doc-typo' into maint

* ms/daemon-doc-typo:
Documentation/git-daemon: add missing word

Merge branch 'lm/git-blame-el' into maintJunio C Hamano Mon, 6 Aug 2012 22:37:54 +0000 (15:37 -0700)

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

Merge branch 'rs/ipv6-ssh-url' into maintJunio C Hamano Mon, 6 Aug 2012 22:37:43 +0000 (15:37 -0700)

Merge branch 'rs/ipv6-ssh-url' into maint

* rs/ipv6-ssh-url:
git: Wrong parsing of ssh urls with IPv6 literals ignores port

Merge branch 'rs/git-blame-mapcar-mapc' into maintJunio C Hamano Mon, 6 Aug 2012 22:37:28 +0000 (15:37 -0700)

Merge branch 'rs/git-blame-mapcar-mapc' into maint

* rs/git-blame-mapcar-mapc:
git-blame.el: use mapc instead of mapcar

Merge branch 'rr/doc-commit' into maintJunio C Hamano Mon, 6 Aug 2012 22:37:09 +0000 (15:37 -0700)

Merge branch 'rr/doc-commit' into maint

* rr/doc-commit:
commit: document a couple of options

doc: A few minor copy edits.Štěpán Němec Sat, 14 Jul 2012 22:20:36 +0000 (00:20 +0200)

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>

Merge branch 'jk/maint-checkout-orphan-check-fix' into... Junio C Hamano Mon, 6 Aug 2012 22:31:16 +0000 (15:31 -0700)

Merge branch 'jk/maint-checkout-orphan-check-fix' into maint

* jk/maint-checkout-orphan-check-fix:
checkout: don't confuse ref and object flags

Merge branch 'mh/maint-revisions-doc' into maintJunio C Hamano Mon, 6 Aug 2012 22:30:57 +0000 (15:30 -0700)

Merge branch 'mh/maint-revisions-doc' into maint

* mh/maint-revisions-doc:
Enumerate revision range specifiers in the documentation
Make <refname> documentation more consistent.

Merge branch 'jc/mergetool-tool-help' into maintJunio C Hamano Mon, 6 Aug 2012 22:30:18 +0000 (15:30 -0700)

Merge branch 'jc/mergetool-tool-help' into maint

* jc/mergetool-tool-help:
mergetool: support --tool-help option like difftool does

Makefile: use overridable $(FIND) instead of hard-coded... Johannes Sixt Mon, 6 Aug 2012 21:06:14 +0000 (23:06 +0200)

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>

l10n: zh_CN.po: update one translationJiang Xin Mon, 6 Aug 2012 17:10:34 +0000 (01:10 +0800)

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>

l10n: Update one message in git.potJiang Xin Mon, 6 Aug 2012 15:48:08 +0000 (23:48 +0800)

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>

Merge git://github.com/git-l10n/git-poJunio C Hamano Mon, 6 Aug 2012 03:51:05 +0000 (20:51 -0700)

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)

merge-recursive: separate message for common ancestorsRalf Thielow Sun, 5 Aug 2012 17:56:38 +0000 (19:56 +0200)

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>

l10n: zh_CN.po: translate 76 new messagesJiang Xin Thu, 2 Aug 2012 03:50:59 +0000 (11:50 +0800)

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>

git-remote-mediawiki: replace TODO-list in comment... Matthieu Moy Fri, 3 Aug 2012 08:40:23 +0000 (10:40 +0200)

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>

l10n: vi.po update to follow POT in 3b613Tran Ngoc Quan Fri, 3 Aug 2012 07:15:23 +0000 (14:15 +0700)

l10n: vi.po update to follow POT in 3b613

* Translated 76 new messages

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>

l10n: Update git.pot (76 new, 4 removed messages)Jiang Xin Thu, 2 Aug 2012 01:35:23 +0000 (09:35 +0800)

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>

Merge git://github.com/git-l10n/git-poJunio C Hamano Wed, 1 Aug 2012 22:59:08 +0000 (15:59 -0700)

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)

git-rebase.sh: fix typo in an error messageRalf Thielow Wed, 1 Aug 2012 17:09:09 +0000 (19:09 +0200)

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>

Merge branch 'nd/maint-i18n-diffstat'Junio C Hamano Tue, 31 Jul 2012 16:43:07 +0000 (09:43 -0700)

Merge branch 'nd/maint-i18n-diffstat'

* nd/maint-i18n-diffstat:
i18n: leave \n out of translated diffstat

Merge branch 'jx/i18n-1.7.11'Junio C Hamano Tue, 31 Jul 2012 16:41:51 +0000 (09:41 -0700)

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

l10n: de.po: translate 4 new messagesRalf Thielow Mon, 30 Jul 2012 15:50:53 +0000 (17:50 +0200)

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>

l10n: vi.po: translate 4 new messagesTran Ngoc Quan Tue, 31 Jul 2012 00:45:53 +0000 (07:45 +0700)

l10n: vi.po: translate 4 new messages

Update Vietnamse translation to POT file in 0bbe5b4

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>

l10n: zh_CN.po: translate 4 new messagesJiang Xin Mon, 30 Jul 2012 22:45:33 +0000 (06:45 +0800)

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>

Git 1.7.12-rc1 v1.7.12-rc1Junio C Hamano Mon, 30 Jul 2012 20:00:03 +0000 (13:00 -0700)

Git 1.7.12-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with 1.7.11.4Junio C Hamano Mon, 30 Jul 2012 20:17:31 +0000 (13:17 -0700)

Sync with 1.7.11.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.7.11.4 v1.7.11.4Junio C Hamano Mon, 30 Jul 2012 20:09:25 +0000 (13:09 -0700)

Git 1.7.11.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jk/maint-commit-document-editmsg' into... Junio C Hamano Mon, 30 Jul 2012 20:05:36 +0000 (13:05 -0700)

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

Merge branch 'jk/maint-advise-vaddf' into maintJunio C Hamano Mon, 30 Jul 2012 20:05:25 +0000 (13:05 -0700)

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

Merge branch 'kk/maint-commit-tree' into maintJunio C Hamano Mon, 30 Jul 2012 20:05:13 +0000 (13:05 -0700)

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

Merge branch 'jv/maint-no-ext-diff' into maintJunio C Hamano Mon, 30 Jul 2012 20:04:59 +0000 (13:04 -0700)

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

Merge branch 'pg/maint-1.7.9-am-where-is-patch' into... Junio C Hamano Mon, 30 Jul 2012 20:04:39 +0000 (13:04 -0700)

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

Merge branch 'jl/maint-1.7.10-recurse-submodules-with... Junio C Hamano Mon, 30 Jul 2012 20:04:18 +0000 (13:04 -0700)

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

Merge branch 'jc/maint-filter-branch-epoch-date' into... Junio C Hamano Mon, 30 Jul 2012 20:03:40 +0000 (13:03 -0700)

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

Merge branch 'rj/maint-grep-remove-redundant-test'Junio C Hamano Mon, 30 Jul 2012 19:56:42 +0000 (12:56 -0700)

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

Merge branch 'dg/submodule-in-dismembered-working-tree'Junio C Hamano Mon, 30 Jul 2012 19:56:25 +0000 (12:56 -0700)

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

t7409: make sure submodule is initialized and updated... Daniel Graña Mon, 30 Jul 2012 17:51:59 +0000 (14:51 -0300)

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>

Merge branch 'hv/link-alt-odb-entry'Junio C Hamano Mon, 30 Jul 2012 19:55:01 +0000 (12:55 -0700)

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

Add explanatory comment for transport-helpers refs... Florian Achleitner Mon, 30 Jul 2012 14:31:18 +0000 (16:31 +0200)

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>

l10n: Update git.pot (4 new, 3 removed messages)Jiang Xin Mon, 30 Jul 2012 02:24:47 +0000 (10:24 +0800)

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>

t7810-*.sh: Remove redundant testRamsay Jones Sat, 28 Jul 2012 18:50:49 +0000 (19:50 +0100)

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>

t1100-*.sh: Fix an intermittent test failureRamsay Jones Sat, 28 Jul 2012 18:48:06 +0000 (19:48 +0100)

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>

link_alt_odb_entry: fix read over array bounds reported... Heiko Voigt Sat, 28 Jul 2012 15:46:36 +0000 (17:46 +0200)

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>

t: add missing executable bit to t7409Jeff King Sat, 28 Jul 2012 15:18:29 +0000 (11:18 -0400)

t: add missing executable bit to t7409

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.7.12Junio C Hamano Sat, 28 Jul 2012 05:25:19 +0000 (22:25 -0700)

Update draft release notes to 1.7.12

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'extract-remaining' of git://git.bogomips... Junio C Hamano Sat, 28 Jul 2012 04:48:27 +0000 (21:48 -0700)

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.

Merge git://git.bogomips.org/git-svnJunio C Hamano Sat, 28 Jul 2012 04:18:09 +0000 (21:18 -0700)

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

Merge branch 'jk/autoident-test'Junio C Hamano Sat, 28 Jul 2012 04:17:00 +0000 (21:17 -0700)

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

Merge branch 'jk/help-plug-memleak'Junio C Hamano Sat, 28 Jul 2012 04:16:45 +0000 (21:16 -0700)

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

Merge branch 'dg/submodule-in-dismembered-working-tree'Junio C Hamano Sat, 28 Jul 2012 04:13:46 +0000 (21:13 -0700)

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

Merge branch 'jk/maint-checkout-orphan-check-fix'Junio C Hamano Sat, 28 Jul 2012 04:11:33 +0000 (21:11 -0700)

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

Extract Git::SVN::GlobSpec from git-svn.Michael G. Schwern Fri, 27 Jul 2012 00:26:06 +0000 (17:26 -0700)

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>

Move Git::IndexInfo into its own file.Michael G. Schwern Fri, 27 Jul 2012 00:26:05 +0000 (17:26 -0700)

Move Git::IndexInfo into its own file.

Straight cut & paste. Didn't require any fixing.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

Load all the modules in one place and before running... Michael G. Schwern Fri, 27 Jul 2012 00:26:04 +0000 (17:26 -0700)

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>

Extract Git::SVN::Migration from git-svn.Michael G. Schwern Fri, 27 Jul 2012 00:26:03 +0000 (17:26 -0700)

Extract Git::SVN::Migration from git-svn.

Straight cut & paste.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

Prepare Git::SVN::Migration for extraction from git... Michael G. Schwern Fri, 27 Jul 2012 00:26:02 +0000 (17:26 -0700)

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>

Extract Git::SVN::Log from git-svn.Michael G. Schwern Fri, 27 Jul 2012 00:26:01 +0000 (17:26 -0700)

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>

Prepare Git::SVN::Log for extraction from git-svn.Michael G. Schwern Fri, 27 Jul 2012 00:26:00 +0000 (17:26 -0700)

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>

Move initialization of Git::SVN variables into Git... Michael G. Schwern Thu, 26 Jul 2012 23:22:25 +0000 (16:22 -0700)

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>