git
11 years agoMerge branch 'jk/subtree-do-not-push-if-split-fails' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:37:44 +0000 (14:37 -0700)] 
Merge branch 'jk/subtree-do-not-push-if-split-fails' into maint

* jk/subtree-do-not-push-if-split-fails:
  contrib/subtree: don't delete remote branches if split fails

11 years agoMerge branch 'mh/fetch-into-shallow' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:37:41 +0000 (14:37 -0700)] 
Merge branch 'mh/fetch-into-shallow' into maint

* mh/fetch-into-shallow:
  t5500: add test for fetching with an unknown 'shallow'
  upload-pack: ignore 'shallow' lines with unknown obj-ids

11 years agoMerge branch 'jh/checkout-auto-tracking' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:37:21 +0000 (14:37 -0700)] 
Merge branch 'jh/checkout-auto-tracking' into maint

* jh/checkout-auto-tracking:
  glossary: Update and rephrase the definition of a remote-tracking branch
  branch.c: Validate tracking branches with refspecs instead of refs/remotes/*
  t9114.2: Don't use --track option against "svn-remote"-tracking branches
  t7201.24: Add refspec to keep --track working
  t3200.39: tracking setup should fail if there is no matching refspec.
  checkout: Use remote refspecs when DWIMming tracking branches
  t2024: Show failure to use refspec when DWIMming remote branch names
  t2024: Add tests verifying current DWIM behavior of 'git checkout <branch>'

11 years agocompletion: complete diff --word-diff
Ramkumar Ramachandra [Tue, 18 Jun 2013 19:24:05 +0000 (00:54 +0530)] 
completion: complete diff --word-diff

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint-1.8.2' into maint
Junio C Hamano [Tue, 11 Jun 2013 21:24:56 +0000 (14:24 -0700)] 
Merge branch 'maint-1.8.2' into maint

* maint-1.8.2:
  t0070 "mktemp to unwritable directory" needs SANITY
  pre-push.sample: Make the script executable

11 years agot0070 "mktemp to unwritable directory" needs SANITY
Torsten Bögershausen [Sat, 8 Jun 2013 12:17:49 +0000 (14:17 +0200)] 
t0070 "mktemp to unwritable directory" needs SANITY

Use the SANITY prerequisite when testing if a temp file can
be created in a read only directory.
Skip the test under CYGWIN, or skip it under Unix/Linux when
it is run as root.

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agopre-push.sample: Make the script executable
Wieland Hoffmann [Tue, 11 Jun 2013 12:14:56 +0000 (14:14 +0200)] 
pre-push.sample: Make the script executable

githooks(5) says that "[...]the .sample files are executable by default"
which was not true.

Signed-off-by: Wieland Hoffmann <themineo@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.3.1 v1.8.3.1
Junio C Hamano [Mon, 10 Jun 2013 00:16:20 +0000 (17:16 -0700)] 
Git 1.8.3.1

Primarily to push out two regression issues that seem to affect many
people, namely, the ".gitignore !directory" bug and "daemon cannot
read from $HOME owned by root" bug.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agomingw: make mingw_signal return the correct handler
Erik Faye-Lund [Mon, 10 Jun 2013 05:48:17 +0000 (07:48 +0200)] 
mingw: make mingw_signal return the correct handler

Returning the SIGALRM handler for SIGINT is not very useful.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'jn/config-ignore-inaccessible' into maint
Junio C Hamano [Mon, 10 Jun 2013 00:06:55 +0000 (17:06 -0700)] 
Merge branch 'jn/config-ignore-inaccessible' into maint

A git daemon that starts as "root" and then drops privilege often
leaves $HOME set to that of the root user, which is unreadable by
the daemon process, which was diagnosed as a configuration error.

Make per-user configuration files that are inaccessible due to
EACCES as though these files do not exist to avoid this issue, as
the tightening which was originally meant as an additional security
has annoyed enough sysadmins.

* jn/config-ignore-inaccessible:
  config: allow inaccessible configuration under $HOME

11 years agoMerge branch 'kb/status-ignored-optim-2' into maint
Junio C Hamano [Mon, 10 Jun 2013 00:05:15 +0000 (17:05 -0700)] 
Merge branch 'kb/status-ignored-optim-2' into maint

Fix recent regression of .gitignore files that list !directory to
mark it not-ignored.

* kb/status-ignored-optim-2:
  dir.c: fix ignore processing within not-ignored directories

11 years agosubmodule: remove redundant check for the_index.initialized
René Scharfe [Sun, 9 Jun 2013 16:33:45 +0000 (18:33 +0200)] 
submodule: remove redundant check for the_index.initialized

read_cache already performs the same check and returns immediately if
the cache has already been loaded.

Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoDocument .git/modules
Fredrik Gustafsson [Sun, 9 Jun 2013 11:11:36 +0000 (13:11 +0200)] 
Document .git/modules

A note in the beginning of this document describes the behavior already.
This patch just adds where to find the repositories.

Signed-off-by: Fredrik Gustafsson <iveqy@iveqy.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot/README: test_must_fail is for testing Git
Junio C Hamano [Tue, 4 Jun 2013 16:50:12 +0000 (09:50 -0700)] 
t/README: test_must_fail is for testing Git

When a test wants to make sure there is no <string> in an output
file, we should just say "! grep string output".

"test_must_fail" is there only to test Git command and catch unusual
deaths we know about (e.g. segv) as an error, not as an expected
failure.  "test_must_fail grep string output" is unnecessary, as
we are not making sure the system binaries do not dump core or
anything like that.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agosha1_file: trivial style cleanup
Felipe Contreras [Thu, 30 May 2013 13:56:21 +0000 (08:56 -0500)] 
sha1_file: trivial style cleanup

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agodir.c: fix ignore processing within not-ignored directories
Karsten Blees [Wed, 29 May 2013 20:32:36 +0000 (22:32 +0200)] 
dir.c: fix ignore processing within not-ignored directories

As of 95c6f271 "dir.c: unify is_excluded and is_path_excluded APIs", the
is_excluded API no longer recurses into directories that match an ignore
pattern, and returns the directory's ignored state for all contained paths.

This is OK for normal ignore patterns, i.e. ignoring a directory affects
the entire contents recursively.

Unfortunately, this also "works" for negated ignore patterns ('!dir'), i.e.
the entire contents is "not-ignored" recursively, regardless of ignore
patterns that match the contents directly.

In prep_exclude, skip recursing into a directory only if it is really
ignored (i.e. the ignore pattern is not negated).

Signed-off-by: Karsten Blees <blees@dcon.de>
Tested-by: Øystein Walle <oystwa@gmail.com>
Reviewed-by: Duy Nguyen <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoStart 1.8.3.1 maintenance track
Junio C Hamano [Wed, 29 May 2013 22:21:15 +0000 (15:21 -0700)] 
Start 1.8.3.1 maintenance track

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint-1.8.2' into maint
Junio C Hamano [Wed, 29 May 2013 22:20:36 +0000 (15:20 -0700)] 
Merge branch 'maint-1.8.2' into maint

* maint-1.8.2:
  trivial: Add missing period in documentation

11 years agotrivial: Add missing period in documentation
Phil Hord [Tue, 28 May 2013 19:36:44 +0000 (19:36 +0000)] 
trivial: Add missing period in documentation

Signed-off-by: Phil Hord <hordp@cisco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.3 v1.8.3
Junio C Hamano [Fri, 24 May 2013 18:34:46 +0000 (11:34 -0700)] 
Git 1.8.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-hg: fix order of configuration comments
Felipe Contreras [Tue, 21 May 2013 03:47:53 +0000 (22:47 -0500)] 
remote-hg: fix order of configuration comments

The other configurations were added in the wrong place.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-hg: trivial configuration note cleanup
Felipe Contreras [Tue, 21 May 2013 03:47:52 +0000 (22:47 -0500)] 
remote-hg: trivial configuration note cleanup

Follow the style of the previous configurations.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocompletion: regression fix for zsh
Felipe Contreras [Tue, 21 May 2013 00:33:03 +0000 (19:33 -0500)] 
completion: regression fix for zsh

zsh completion wrapper doesn't reimplement __gitcompadd(). Although it
should be trivial to do that, let's use __gitcomp_nl() which achieves
exactly the same thing, specially since the suffix ($4) has to be empty.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge git://git.bogomips.org/git-svn
Junio C Hamano [Mon, 20 May 2013 23:06:48 +0000 (16:06 -0700)] 
Merge git://git.bogomips.org/git-svn

* git://git.bogomips.org/git-svn:
  git-svn: introduce --parents parameter for commands branch and tag
  git-svn: clarify explanation of --destination argument
  git-svn: multiple fetch/branches/tags keys are supported

11 years agogit-svn: introduce --parents parameter for commands branch and tag
Tobias Schulte [Wed, 15 May 2013 20:14:43 +0000 (22:14 +0200)] 
git-svn: introduce --parents parameter for commands branch and tag

This parameter is equivalent to the parameter --parents on svn cp commands
and is useful for non-standard repository layouts.

Signed-off-by: Tobias Schulte <tobias.schulte@gliderpilot.de>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
11 years agogit-svn: clarify explanation of --destination argument
Jonathan Nieder [Tue, 20 Dec 2011 01:24:30 +0000 (19:24 -0600)] 
git-svn: clarify explanation of --destination argument

The existing documentation for "-d" does not make it obvious whether
its argument is supposed to be a full svn path, a partial svn path,
the glob from the config file, or what.  Clarify the text and add an
example to get the reader started.

Reported-by: Nathan Gray <n8gray@n8gray.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
11 years agogit-svn: multiple fetch/branches/tags keys are supported
Nathan Gray [Tue, 20 Dec 2011 01:23:50 +0000 (19:23 -0600)] 
git-svn: multiple fetch/branches/tags keys are supported

"git svn" can be configured to use multiple fetch, branches, and tags
refspecs by passing multiple --branches or --tags options at init time
or editing the configuration file later, which can be handy when
working with messy Subversion repositories.  Add a note to the
configuration section documenting how this works.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
11 years agoremote-hg: set stdout to binary mode on win32
Amit Bakshi [Sun, 19 May 2013 11:53:48 +0000 (06:53 -0500)] 
remote-hg: set stdout to binary mode on win32

git clone hangs on windows, and file.write would return errno 22 inside
of mercurial's windows.winstdout wrapper class. This patch sets stdout's
mode to binary, fixing both issues.

[fc: cleaned up]

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.3-rc3 v1.8.3-rc3
Junio C Hamano [Fri, 17 May 2013 19:19:20 +0000 (12:19 -0700)] 
Git 1.8.3-rc3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'fc/doc-style'
Junio C Hamano [Fri, 17 May 2013 19:16:49 +0000 (12:16 -0700)] 
Merge branch 'fc/doc-style'

* fc/doc-style:
  documentation: trivial style cleanups

11 years agoMerge branch 'dw/asciidoc-sources-are-dot-txt-files'
Junio C Hamano [Fri, 17 May 2013 19:16:44 +0000 (12:16 -0700)] 
Merge branch 'dw/asciidoc-sources-are-dot-txt-files'

* dw/asciidoc-sources-are-dot-txt-files:
  CodingGuidelines: Documentation/*.txt are the sources

11 years agodocumentation: trivial style cleanups
Felipe Contreras [Thu, 9 May 2013 01:16:55 +0000 (20:16 -0500)] 
documentation: trivial style cleanups

White-spaces, missing braces, standardize --[no-]foo.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge git://ozlabs.org/~paulus/gitk
Junio C Hamano [Fri, 17 May 2013 18:55:02 +0000 (11:55 -0700)] 
Merge git://ozlabs.org/~paulus/gitk

* git://ozlabs.org/~paulus/gitk:
  gitk: Update Swedish translation (304t)

11 years agodifftool: fix dir-diff when file does not exist in working tree
John Keeping [Fri, 17 May 2013 18:26:08 +0000 (19:26 +0100)] 
difftool: fix dir-diff when file does not exist in working tree

Commit 02c5631 (difftool --dir-diff: symlink all files matching the
working tree, 2013-03-14) does not handle the case where a file that is
being compared does not exist in the working tree.  Fix this by checking
for existence explicitly before running git-hash-object.

Reported-by: Kevin Bracey <kevin@bracey.fi>
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-bzr: fixes for older versions of bzr
Felipe Contreras [Fri, 17 May 2013 17:10:19 +0000 (12:10 -0500)] 
remote-bzr: fixes for older versions of bzr

Down to v2.0, by using older but still valid interfaces.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-bzr: fix old organization destroy
Sandor Bodo-Merle [Fri, 17 May 2013 10:32:28 +0000 (05:32 -0500)] 
remote-bzr: fix old organization destroy

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogitk: Update Swedish translation (304t)
Peter Krefting [Thu, 16 May 2013 07:14:35 +0000 (08:14 +0100)] 
gitk: Update Swedish translation (304t)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agoRevert "remote-hg: update bookmarks when pulling"
Felipe Contreras [Thu, 16 May 2013 12:43:15 +0000 (07:43 -0500)] 
Revert "remote-hg: update bookmarks when pulling"

This reverts commit 24317ef32ac3111ed00792f9b2921dc19dd28fe2.

Different versions of Mercurial have different arguments for
bookmarks.updatefromremote(), while it should be possible to call the
right function with the right arguments depending on the version, it's
safer to restore the old behavior for now.

Reported by Rodney Lorrimar.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-submodule.txt: Clarify 'init' and 'add' subcommands.
Dale R. Worley [Wed, 15 May 2013 22:28:39 +0000 (18:28 -0400)] 
git-submodule.txt: Clarify 'init' and 'add' subcommands.

Describe how 'add' sets the submodule's logical name, which is used in
the configuration entry names.

Clarify that 'init' only sets up the configuration entries for
submodules that have already been added elsewhere.  Describe that
<path> arguments limit the submodules that are configured.

Signed-off-by: Dale Worley <worley@ariadne.com>
Acked-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-bzr: fix cloning of non-listable repos
Felipe Contreras [Thu, 16 May 2013 10:04:05 +0000 (05:04 -0500)] 
remote-bzr: fix cloning of non-listable repos

Commit 95b0c60 (remote-bzr: add support for bzr repos) introduced a
regression by assuming all bzr remote repos are listable, but they are
not.

If they are not listable they are basically useless, so let's assume
there is no bzr repo.

Reported-by: Thorsten Kranzkowski <dl8bcu@dl8bcu.de>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'fc/remote-hg' (early part)
Junio C Hamano [Wed, 15 May 2013 21:58:56 +0000 (14:58 -0700)] 
Merge branch 'fc/remote-hg' (early part)

* 'fc/remote-hg' (early part):
  remote-hg: update bookmarks when pulling
  remote-hg: don't push fake 'master' bookmark
  remote-hg: disable forced push by default
  remote-hg: fix new branch creation
  remote-hg: add new get_config_bool() helper
  remote-hg: enable track-branches in hg-git mode
  remote-hg: get rid of unused exception checks
  remote-hg: trivial cleanups

11 years agoremote-hg: update bookmarks when pulling
Felipe Contreras [Tue, 14 May 2013 04:36:31 +0000 (23:36 -0500)] 
remote-hg: update bookmarks when pulling

Otherwise, the user would never ever see new bookmarks, only the
ones that (s)he initially cloned.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-hg: don't push fake 'master' bookmark
Felipe Contreras [Tue, 14 May 2013 04:36:30 +0000 (23:36 -0500)] 
remote-hg: don't push fake 'master' bookmark

We skip it locally, but not for the remote, so let's do so.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-hg: disable forced push by default
Felipe Contreras [Tue, 14 May 2013 04:36:29 +0000 (23:36 -0500)] 
remote-hg: disable forced push by default

In certain situations we might end up pushing garbage revisions
(e.g. in a rebase), and the patches to deal with that haven't been
merged yet.  So let's disable forced pushes by default.

We are essentially reverting back to the old v1.8.2 behavior, to
minimize the possibility of regressions, but in a way the user can
configure.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-hg: fix new branch creation
Felipe Contreras [Tue, 14 May 2013 04:36:28 +0000 (23:36 -0500)] 
remote-hg: fix new branch creation

When a user creates a new branch with git:

 % git checkout -b branches/devel

and then pushes this branch

 % git push origin branches/devel

which is the way to push new mercurial branches, we do want to
create a branch, but the command would fail without newbranch=True.

This only matters when force_push=False, but setting newbranch=True
unconditionally does not hurt.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-hg: add new get_config_bool() helper
Felipe Contreras [Tue, 14 May 2013 04:36:27 +0000 (23:36 -0500)] 
remote-hg: add new get_config_bool() helper

No functional changes.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-hg: enable track-branches in hg-git mode
Felipe Contreras [Tue, 14 May 2013 04:36:26 +0000 (23:36 -0500)] 
remote-hg: enable track-branches in hg-git mode

The user can turn this off.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-hg: get rid of unused exception checks
Felipe Contreras [Tue, 14 May 2013 04:36:25 +0000 (23:36 -0500)] 
remote-hg: get rid of unused exception checks

Remove try/except check because we are no longer calling
check_output(), which may throw an exception.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-hg: trivial cleanups
Felipe Contreras [Tue, 14 May 2013 04:36:24 +0000 (23:36 -0500)] 
remote-hg: trivial cleanups

Drop unused "global", and remove redundant comparison of two files.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-bzr: update old organization
Felipe Contreras [Tue, 14 May 2013 04:20:27 +0000 (23:20 -0500)] 
remote-bzr: update old organization

If a clone exists with the old organization (v1.8.2) it will prevent
the new shared bzr repository organization from working, so let's
remove this repository, which is not used any more.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.3-rc2 v1.8.3-rc2
Junio C Hamano [Mon, 13 May 2013 18:09:42 +0000 (11:09 -0700)] 
Git 1.8.3-rc2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge git://ozlabs.org/~paulus/gitk
Junio C Hamano [Mon, 13 May 2013 14:51:41 +0000 (07:51 -0700)] 
Merge git://ozlabs.org/~paulus/gitk

* git://ozlabs.org/~paulus/gitk:
  gitk: On OSX, bring the gitk window to front
  gitk: Add support for -G'regex' pickaxe variant
  gitk: Add menu item for reverting commits
  gitk: Simplify file filtering
  gitk: Display the date of a tag in a human-friendly way
  gitk: Improve behaviour of drop-down lists
  gitk: Move hard-coded colors to .gitk

11 years agogitk: On OSX, bring the gitk window to front
Tair Sabirgaliev [Wed, 24 Apr 2013 09:48:27 +0000 (15:48 +0600)] 
gitk: On OSX, bring the gitk window to front

On OSX, Tcl/Tk application windows are created behind all
the applications down the stack of windows.  This is very
annoying, because once a gitk window appears, it's the
downmost window and switching to it is pain.

The patch is: if we are on OSX, use osascript to
bring the current Wish process window to front.

Signed-off-by: Tair Sabirgaliev <tair.sabirgaliev@gmail.com>
Thanks-to: Stefan Haller <lists@haller-berlin.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agogitk: Add support for -G'regex' pickaxe variant
Martin Langhoff [Thu, 14 Jun 2012 18:34:11 +0000 (20:34 +0200)] 
gitk: Add support for -G'regex' pickaxe variant

git log -G'regex' is a very useful alternative to the classic
pickaxe.  Minimal patch to make it usable from gitk.

[zj: reword message]
[paulus@samba.org: reword droplist item]
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agotest-bzr: do not use unportable sed '\+'
Torsten Bögershausen [Sat, 11 May 2013 13:25:52 +0000 (15:25 +0200)] 
test-bzr: do not use unportable sed '\+'

Using sed -e '/[0-9]\+//' to find "one or more digits" is not
portable.

Use the Basic Regular Expression '/[0-9][0-9]*//' instead.

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge git://git.bogomips.org/git-svn
Junio C Hamano [Sat, 11 May 2013 18:09:00 +0000 (11:09 -0700)] 
Merge git://git.bogomips.org/git-svn

* git://git.bogomips.org/git-svn:
  git-svn: added an --include-path flag
  Git::SVN::*: add missing "NAME" section to perldoc
  git-svn: avoid self-referencing mergeinfo

11 years agogitk: Add menu item for reverting commits
Knut Franke [Sat, 27 Apr 2013 14:36:13 +0000 (16:36 +0200)] 
gitk: Add menu item for reverting commits

Sometimes it's helpful (at least psychologically) to have this feature
easily accessible.  Code borrows heavily from cherrypick.

Signed-off-by: Knut Franke <Knut.Franke@gmx.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agogitk: Simplify file filtering
Felipe Contreras [Sat, 27 Apr 2013 22:01:39 +0000 (17:01 -0500)] 
gitk: Simplify file filtering

git diff is perfectly able to do this with '-- files', no need for
manual filtering.  This makes gettreediffs consistent with getblobdiffs.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agogitk: Display the date of a tag in a human-friendly way
Anand Kumria [Mon, 29 Apr 2013 05:20:48 +0000 (06:20 +0100)] 
gitk: Display the date of a tag in a human-friendly way

By selecting a tag within gitk you can display information about it.
This information is output by using the command

 'git cat-file tag <tagid>'

This outputs the *raw* information from the tag, amongst which is the
time - in seconds since the epoch. As useful as that value is, I find it
a lot easier to read and process time which it is something like:

 "Mon Dec 31 14:26:11 2012 -0800"

This change will modify the display of tags in gitk like so:

  @@ -1,7 +1,7 @@
   object 5d417842efeafb6e109db7574196901c4e95d273
   type commit
   tag v1.8.1
  -tagger Junio C Hamano <gitster@pobox.com> 1356992771 -0800
  +tagger Junio C Hamano <gitster@pobox.com> Mon Dec 31 14:26:11 2012 -0800

   Git 1.8.1
   -----BEGIN PGP SIGNATURE-----

Signed-off-by: Anand Kumria <wildfire@progsoc.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agogitk: Improve behaviour of drop-down lists
Paul Mackerras [Sat, 11 May 2013 07:08:41 +0000 (17:08 +1000)] 
gitk: Improve behaviour of drop-down lists

The drop-down lists used for things like the criteria for finding
commits (containing/touching paths/etc.) use a combobox if we are
using the ttk widgets.  By default the combobox exports its value
as the selection when it is changed, which is unnecessary, and sometimes
the combobox wouldn't release the selection, which is annoying.

To fix this, we make these comboboxes not export their selection,
and also clear their selection whenever they are changed.  This makes
them more like a simple selection of alternatives, improving the look
and feel of gitk.

Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agoCodingGuidelines: Documentation/*.txt are the sources
Dale Worley [Tue, 7 May 2013 17:39:46 +0000 (13:39 -0400)] 
CodingGuidelines: Documentation/*.txt are the sources

People not familiar with AsciiDoc may not realize they are
supposed to update *.txt files and not *.html/*.1 files when
preparing patches to the project.

Signed-off-by: Dale Worley <worley@ariadne.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoSync with v1.8.2.3
Junio C Hamano [Thu, 9 May 2013 20:32:54 +0000 (13:32 -0700)] 
Sync with v1.8.2.3

* maint:
  Git 1.8.2.3
  t5004: avoid using tar for checking emptiness of archive
  t5004: ignore pax global header file
  mergetools/kdiff3: do not use --auto when diffing
  transport-helper: trivial style cleanup

11 years agoGit 1.8.2.3 v1.8.2.3
Junio C Hamano [Thu, 9 May 2013 19:37:53 +0000 (12:37 -0700)] 
Git 1.8.2.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'mv/sequencer-pick-error-diag'
Junio C Hamano [Thu, 9 May 2013 20:30:19 +0000 (13:30 -0700)] 
Merge branch 'mv/sequencer-pick-error-diag'

Fix "git cherry-pick $annotated_tag", which was mistakenly rejected.

* mv/sequencer-pick-error-diag:
  cherry-pick: picking a tag that resolves to a commit is OK

11 years agocherry-pick: picking a tag that resolves to a commit is OK
Junio C Hamano [Thu, 9 May 2013 20:27:49 +0000 (13:27 -0700)] 
cherry-pick: picking a tag that resolves to a commit is OK

Earlier, 21246dbb9e0a (cherry-pick: make sure all input objects are
commits, 2013-04-11) tried to catch an unlikely "git cherry-pick $blob"
as an error, but broke a more important use case to cherry-pick a
tag that points at a commit.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'tr/copy-revisions-from-stdin' into maint
Junio C Hamano [Thu, 9 May 2013 19:42:17 +0000 (12:42 -0700)] 
Merge branch 'tr/copy-revisions-from-stdin' into maint

* tr/copy-revisions-from-stdin:
  read_revisions_from_stdin: make copies for handle_revision_arg

11 years agot5004: avoid using tar for checking emptiness of archive
René Scharfe [Thu, 9 May 2013 13:13:47 +0000 (15:13 +0200)] 
t5004: avoid using tar for checking emptiness of archive

Test 2 of t5004 checks if a supposedly empty tar archive really
contains no files.  24676f02 (t5004: fix issue with empty archive test
and bsdtar) removed our commit hash to make it work with bsdtar, but
the test still fails on NetBSD and OpenBSD, which use their own tar
that considers a tar file containing only NULs as broken.

Here's what the different archivers do when asked to create a tar
file without entries:

$ uname -v
NetBSD 6.0.1 (GENERIC)
$ gtar --version | head -1
tar (GNU tar) 1.26
$ bsdtar --version
bsdtar 2.8.4 - libarchive 2.8.4

$ : >zero.tar
$ perl -e 'print "\0" x 10240' >tenk.tar
$ sha1 zero.tar tenk.tar
SHA1 (zero.tar) = da39a3ee5e6b4b0d3255bfef95601890afd80709
SHA1 (tenk.tar) = 34e163be8e43c5631d8b92e9c43ab0bf0fa62b9c

$ : | tar cf - -T - | sha1
da39a3ee5e6b4b0d3255bfef95601890afd80709
$ : | gtar cf - -T - | sha1
34e163be8e43c5631d8b92e9c43ab0bf0fa62b9c
$ : | bsdtar cf - -T - | sha1
34e163be8e43c5631d8b92e9c43ab0bf0fa62b9c

So NetBSD's native tar creates an empty file, while GNU tar and bsdtar
both give us 10KB of NULs -- just like git archive with an empty tree.
Now let's see how the archivers handle these two kinds of empty tar
files:

$ tar tf zero.tar; echo $?
tar: Unexpected EOF on archive file
1
$ gtar tf zero.tar; echo $?
gtar: This does not look like a tar archive
gtar: Exiting with failure status due to previous errors
2
$ bsdtar tf zero.tar; echo $?
0

$ tar tf tenk.tar; echo $?
tar: Cannot identify format. Searching...
tar: End of archive volume 1 reached
tar: Sorry, unable to determine archive format.
1
$ gtar tf tenk.tar; echo $?
0
$ bsdtar tf tenk.tar; echo $?
0

NetBSD's tar complains about both, bsdtar happily accepts any of them
and GNU tar doesn't like zero-length archive files.  So the safest
course of action is to stay with our block-of-NULs format which is
compatible with GNU tar and bsdtar, as we can't make NetBSD's native
tar happy anyway.

We can simplify our test, however, by taking tar out of the picture.
Instead of extracting the archive and checking for the non-presence of
files, check if the file has a size of 10KB and contains only NULs.
This makes t5004 pass on NetBSD and OpenBSD.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot5004: ignore pax global header file
René Scharfe [Thu, 9 May 2013 13:10:48 +0000 (15:10 +0200)] 
t5004: ignore pax global header file

Versions of tar that don't know pax headers -- like the ones in NetBSD 6
and OpenBSD 5.2 -- extract them as regular files.  Explicitly ignore the
file created for our global header when checking the list of extracted
files, as this is normal and harmless fall-back behaviour.  This fixes
test 3 of t5004 on these platforms.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agomergetools/kdiff3: do not use --auto when diffing
David Aguilar [Thu, 9 May 2013 09:13:28 +0000 (02:13 -0700)] 
mergetools/kdiff3: do not use --auto when diffing

The `kdiff3 --auto` help message is, "No GUI if all conflicts are auto-
solvable."  This flag was carried over from the original mergetool
commands.  diff_cmd() is for two-way comparisons only so remove the
superfluous flag.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agotransport-helper: trivial style cleanup
Felipe Contreras [Thu, 9 May 2013 01:16:56 +0000 (20:16 -0500)] 
transport-helper: trivial style cleanup

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-svn: added an --include-path flag
Paul Walmsley [Fri, 3 May 2013 23:10:18 +0000 (00:10 +0100)] 
git-svn: added an --include-path flag

The SVN::Fetcher module is now able to filter for inclusion as well
as exclusion (as used by --ignore-path). Also added tests, documentation
changes and git completion script.

If you have an SVN repository with many top level directories and you
only want a git-svn clone of some of them then using --ignore-path is
difficult as it requires a very long regexp. In this case it's much
easier to filter for inclusion.

[ew: remove trailing whitespace]

Signed-off-by: Paul Walmsley <pjwhams@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
11 years agoGit::SVN::*: add missing "NAME" section to perldoc
Jonathan Nieder [Sun, 5 May 2013 07:50:33 +0000 (00:50 -0700)] 
Git::SVN::*: add missing "NAME" section to perldoc

lexgrog(1) relies on the NAME section to find a manpage's subject's
name and description for easy access later using "man -k".  Add the
section it expects.

Noticed using lintian.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
11 years agogit-svn: avoid self-referencing mergeinfo
Michael Contreras [Sat, 30 Mar 2013 22:06:42 +0000 (18:06 -0400)] 
git-svn: avoid self-referencing mergeinfo

When svn.pushmergeinfo is set, the target branch is included in the
mergeinfo if it was previously merged into one of the source branches.
SVN does not do this.

Remove merge target branch path from resulting mergeinfo when
svn.pushmergeinfo is set to better match the behavior of SVN. Update the
svn-mergeinfo-push test.

[ew: 80 columns]

Signed-off-by: Michael Contreras <michael@inetric.com>
Reported-by: Avishay Lavie <avishay.lavie@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
11 years agoUpdate draft release notes for 1.8.3
Junio C Hamano [Wed, 8 May 2013 05:50:05 +0000 (22:50 -0700)] 
Update draft release notes for 1.8.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-helpers: trivial cleanup
Felipe Contreras [Tue, 7 May 2013 23:45:15 +0000 (18:45 -0500)] 
remote-helpers: trivial cleanup

The comment was copied from hg-fast-export, not used anymore.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-bzr: fix for disappeared revisions
Felipe Contreras [Tue, 7 May 2013 23:39:35 +0000 (18:39 -0500)] 
remote-bzr: fix for disappeared revisions

It's possible that the previous tip goes away, we should not assume it's
always present. Fortunately we are only using it to calculate the
progress to display to the user, so only that needs to be fixed.

Also, add a test that triggers this issue.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge git://github.com/git-l10n/git-po
Junio C Hamano [Wed, 8 May 2013 01:24:31 +0000 (18:24 -0700)] 
Merge git://github.com/git-l10n/git-po

* git://github.com/git-l10n/git-po:
  l10n: zh_CN.po: translate 44 messages (2080t0f0u)
  l10n: de.po: translate 44 new messages
  l10n: Update Vietnamese translation (2080t0f0u)
  l10n: Update Swedish translation (2080t0f0u)
  l10n: git.pot: v1.8.3 round 2 (44 new, 12 removed)

11 years agol10n: zh_CN.po: translate 44 messages (2080t0f0u)
Jiang Xin [Sat, 13 Apr 2013 02:02:43 +0000 (10:02 +0800)] 
l10n: zh_CN.po: translate 44 messages (2080t0f0u)

Translate 44 new messages came from git.pot update in c6bc7d4
(l10n: git.pot: v1.8.3 round 2 (44 new, 12 removed))

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
11 years agol10n: de.po: translate 44 new messages
Ralf Thielow [Tue, 30 Apr 2013 05:38:05 +0000 (07:38 +0200)] 
l10n: de.po: translate 44 new messages

Translate 44 new messages came from git.pot update in
c6bc7d4 (l10n: git.pot: v1.8.3 round 2 (44 new, 12 removed)).

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
11 years agoMerge branch 'jk/merge-tree-added-identically'
Junio C Hamano [Tue, 7 May 2013 05:18:25 +0000 (22:18 -0700)] 
Merge branch 'jk/merge-tree-added-identically'

* jk/merge-tree-added-identically:
  merge-tree: handle directory/empty conflict correctly

11 years agomerge-tree: handle directory/empty conflict correctly
John Keeping [Mon, 6 May 2013 15:20:54 +0000 (16:20 +0100)] 
merge-tree: handle directory/empty conflict correctly

git-merge-tree causes a null pointer dereference when a directory
entry exists in only one or two of the three trees being compared with
no corresponding entry in the other tree(s).

When this happens, we want to handle the entry as a directory and not
attempt to mark it as a file merge.  Do this by setting the entries bit
in the directory mask when the entry is missing or when it is a
directory, only performing the file comparison when we know that a file
entry exists.

Reported-by: Andreas Jacobsen <andreas@andreasjacobsen.com>
Signed-off-by: John Keeping <john@keeping.me.uk>
Tested-by: Andreas Jacobsen <andreas@andreasjacobsen.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'fc/remote-bzr'
Junio C Hamano [Tue, 7 May 2013 05:16:26 +0000 (22:16 -0700)] 
Merge branch 'fc/remote-bzr'

* fc/remote-bzr:
  remote-bzr: avoid bad refs
  remote-bzr: convert all unicode keys to str
  remote-bzr: access branches only when needed
  remote-bzr: delay peer branch usage
  remote-bzr: iterate revisions properly
  remote-bzr: improve progress reporting
  remote-bzr: add option to specify branches
  remote-bzr: add custom method to find branches
  remote-bzr: improve author sanitazion
  remote-bzr: add support for shared repo
  remote-bzr: fix branch names
  remote-bzr: add support for bzr repos
  remote-bzr: use branch variable when appropriate
  remote-bzr: fix partially pushed merge
  remote-bzr: fixes for branch diverge
  remote-bzr: add support to push merges
  remote-bzr: always try to update the worktree
  remote-bzr: fix order of locking in CustomTree
  remote-bzr: delay blob fetching until the very end
  remote-bzr: cleanup CustomTree

11 years agoremote-bzr: avoid bad refs
Felipe Contreras [Sat, 4 May 2013 00:31:07 +0000 (19:31 -0500)] 
remote-bzr: avoid bad refs

Versions of fast-export before v1.8.2 throws a bad 'reset' commands
because of a behavior in transport-helper that is not even needed.
We should ignore them, otherwise we will treat them as branches and
fail.

This was fixed in v1.8.2, but some people use this script in older
versions of git.

Also, check if the ref was a tag, and skip it for now.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-bzr: convert all unicode keys to str
Felipe Contreras [Sat, 4 May 2013 00:31:06 +0000 (19:31 -0500)] 
remote-bzr: convert all unicode keys to str

Otherwise some versions of bazaar might barf.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'fc/push-with-export-reporting-result'
Junio C Hamano [Sun, 5 May 2013 18:12:12 +0000 (11:12 -0700)] 
Merge branch 'fc/push-with-export-reporting-result'

* fc/push-with-export-reporting-result:
  transport-helper: improve push messages

11 years agotransport-helper: improve push messages
Felipe Contreras [Fri, 3 May 2013 23:41:59 +0000 (18:41 -0500)] 
transport-helper: improve push messages

If there's already a remote-helper tracking ref, we can fetch the
SHA-1 to report proper push messages (as opposed to always reporting
[new branch]).

The remote-helper currently can specify the old SHA-1 to avoid this
problem, but there's no point in forcing all remote-helpers to be aware
of git commit ids; they should be able to be agnostic of them.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.3-rc1 v1.8.3-rc1
Junio C Hamano [Fri, 3 May 2013 22:23:45 +0000 (15:23 -0700)] 
Git 1.8.3-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'tr/unpack-entry-use-after-free-fix'
Junio C Hamano [Fri, 3 May 2013 22:18:04 +0000 (15:18 -0700)] 
Merge branch 'tr/unpack-entry-use-after-free-fix'

* tr/unpack-entry-use-after-free-fix:
  unpack_entry: avoid freeing objects in base cache

11 years agoSync with maint
Junio C Hamano [Fri, 3 May 2013 22:17:38 +0000 (15:17 -0700)] 
Sync with maint

* maint:
  completion: zsh: don't override suffix on _detault
  Documentation/git-commit: Typo under --edit

11 years agoMerge branch 'tr/remote-tighten-commandline-parsing' into maint
Junio C Hamano [Fri, 3 May 2013 22:12:38 +0000 (15:12 -0700)] 
Merge branch 'tr/remote-tighten-commandline-parsing' into maint

* tr/remote-tighten-commandline-parsing:
  remote: 'show' and 'prune' can take more than one remote
  remote: check for superfluous arguments in 'git remote add'
  remote: add a test for extra arguments, according to docs

11 years agoMerge branch 'jn/glossary-revision' into maint
Junio C Hamano [Fri, 3 May 2013 22:12:16 +0000 (15:12 -0700)] 
Merge branch 'jn/glossary-revision' into maint

* jn/glossary-revision:
  glossary: a revision is just a commit

11 years agocompletion: zsh: don't override suffix on _detault
Felipe Contreras [Fri, 3 May 2013 21:35:50 +0000 (16:35 -0500)] 
completion: zsh: don't override suffix on _detault

zsh is smart enough to add the right suffix while completing, there's no
point in trying to do the same as bash.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoDocumentation/git-commit: Typo under --edit
Anders Granskogen Bjørnstad [Thu, 2 May 2013 18:24:15 +0000 (20:24 +0200)] 
Documentation/git-commit: Typo under --edit

-C takes a commit object, not a file.

Signed-off-by: Anders Granskogen Bjørnstad <andersgb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot5500: add test for fetching with an unknown 'shallow'
Michael Heemskerk [Thu, 2 May 2013 14:56:07 +0000 (00:56 +1000)] 
t5500: add test for fetching with an unknown 'shallow'

When the client sends a 'shallow' line for an object that the server does
not have, the server should just ignore it and let the client keep that
unknown shallow boundary.

Signed-off-by: Michael Heemskerk <mheemskerk@atlassian.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoUpdate draft release notes to 1.8.3
Junio C Hamano [Wed, 1 May 2013 22:32:24 +0000 (15:32 -0700)] 
Update draft release notes to 1.8.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoFix grammar in the 1.8.3 release notes.
Marc Branchaud [Mon, 29 Apr 2013 19:15:04 +0000 (15:15 -0400)] 
Fix grammar in the 1.8.3 release notes.

Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'hb/git-pm-tempfile'
Junio C Hamano [Wed, 1 May 2013 22:24:15 +0000 (15:24 -0700)] 
Merge branch 'hb/git-pm-tempfile'

* hb/git-pm-tempfile:
  Git.pm: call tempfile from File::Temp as a regular function

11 years agoMerge branch 'rs/pp-user-info-without-extra-allocation'
Junio C Hamano [Wed, 1 May 2013 22:24:08 +0000 (15:24 -0700)] 
Merge branch 'rs/pp-user-info-without-extra-allocation'

* rs/pp-user-info-without-extra-allocation:
  pretty: remove intermediate strbufs from pp_user_info()
  pretty: simplify output line length calculation in pp_user_info()
  pretty: simplify input line length calculation in pp_user_info()

11 years agoMerge branch 'tr/remote-tighten-commandline-parsing'
Junio C Hamano [Wed, 1 May 2013 22:24:01 +0000 (15:24 -0700)] 
Merge branch 'tr/remote-tighten-commandline-parsing'

* tr/remote-tighten-commandline-parsing:
  remote: 'show' and 'prune' can take more than one remote
  remote: check for superfluous arguments in 'git remote add'
  remote: add a test for extra arguments, according to docs

11 years agoMerge branch 'zk/prompt-rebase-step'
Junio C Hamano [Wed, 1 May 2013 22:23:56 +0000 (15:23 -0700)] 
Merge branch 'zk/prompt-rebase-step'

* zk/prompt-rebase-step:
  bash-prompt.sh: show where rebase is at when stopped