git
10 years agot0001: use test_config_global
Jeff King [Thu, 20 Mar 2014 23:18:12 +0000 (19:18 -0400)] 
t0001: use test_config_global

We hand-set several config options using :

  git config -f $HOME/.gitconfig ...

Instead, we can use "test_config_global". Not only is this
more readable, but it cleans up for us so that subsequent
tests aren't polluted by our settings.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agot0001: use test_path_is_*
Jeff King [Thu, 20 Mar 2014 23:17:35 +0000 (19:17 -0400)] 
t0001: use test_path_is_*

t0001 predates the test_path_is_* helpers, and uses "test
-f" and "test -d" directly. Using the helpers provides
better debugging output, and are a little more robust.
As opposed to "! test -d", test_path_is_missing will
actually makes sure the path does not exist at all.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agot0001: make symlink reinit test more careful
Jeff King [Thu, 20 Mar 2014 23:17:15 +0000 (19:17 -0400)] 
t0001: make symlink reinit test more careful

In the final test of t0001, we have a repo whose .git is a
symlink to a directory "here", and we use
"--separate-git-dir" to migrate that to a .git file pointing
to a different directory. We check that the data is migrated
to the new directory and that .git looks like a git-file.

We also check that "here" is not a directory, which is
slightly misleading. It should not be a directory, but
neither should it be gone. It is the actual resting place of
the git-file, and .git remains a symlink to it.

Let's check that more explicitly, both to make our test more
robust, and to make further cleanups in this area more
obvious.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agot: prefer "git config --file" to GIT_CONFIG
Jeff King [Thu, 20 Mar 2014 23:17:01 +0000 (19:17 -0400)] 
t: prefer "git config --file" to GIT_CONFIG

Doing:

  GIT_CONFIG=foo git config ...

is equivalent to:

  git config --file=foo ...

The latter is easier to read and slightly less error-prone,
because of issues with one-shot variables and shell
functions (e.g., you cannot use the former with
test_must_fail).

Note that we explicitly leave one case in t1300 which checks
the same operation on both GIT_CONFIG and "git config
--file". They are equivalent in the code these days, but
this will make sure it remains so.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agot: prefer "git config --file" to GIT_CONFIG with test_must_fail
Jeff King [Thu, 20 Mar 2014 23:15:54 +0000 (19:15 -0400)] 
t: prefer "git config --file" to GIT_CONFIG with test_must_fail

This lets us get rid of an extra "env" invocation in the
middle, and is slightly more readable.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agot: stop using GIT_CONFIG to cross repo boundaries
Jeff King [Thu, 20 Mar 2014 23:15:24 +0000 (19:15 -0400)] 
t: stop using GIT_CONFIG to cross repo boundaries

Some tests want to check or set config in another
repository. E.g., t1000 creates repositories and makes sure
that their core.bare and core.worktree settings are what we
expect. We can do this with:

  GIT_CONFIG=$repo/.git/config git config ...

but it better shows the intent to just enter the repository
and let "git config" do the normal lookups:

  (cd $repo && git config ...)

In theory, this would cause us to use an extra subshell, but
in all such cases, we are actually already in a subshell.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agot: drop useless sane_unset GIT_* calls
Jeff King [Thu, 20 Mar 2014 23:14:33 +0000 (19:14 -0400)] 
t: drop useless sane_unset GIT_* calls

Several test scripts manually unset GIT_CONFIG and other
GIT_* variables. These are generally taken care of for us by
test-lib.sh already.

Unsetting these is not only useless, but can be confusing to
a reader, who may wonder why some tests in a script unset
them and others do not (t0001 is particularly guilty of this
inconsistency, probably because many of its tests predate
the test-lib.sh environment-cleansing).

Note that we cannot always get rid of such unsetting. For
example, t9130 can drop the GIT_CONFIG unset, but not the
GIT_DIR one, because lib-git-svn.sh sets the latter. And in
t1000, we unset GIT_TEMPLATE_DIR, which is explicitly
initialized by test-lib.sh.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agot/test-lib: drop redundant unset of GIT_CONFIG
Jeff King [Thu, 20 Mar 2014 23:13:36 +0000 (19:13 -0400)] 
t/test-lib: drop redundant unset of GIT_CONFIG

This is already handled by the mass GIT_* unsetting added by
95a1d12 (tests: scrub environment of GIT_* variables,
2011-03-15).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agot/Makefile: stop setting GIT_CONFIG
Jeff King [Thu, 20 Mar 2014 23:13:21 +0000 (19:13 -0400)] 
t/Makefile: stop setting GIT_CONFIG

Once upon a time, the setting of GIT_CONFIG in the
environment could affect how tests ran. Commit 9c3796f (Fix
setting config variables with an alternative GIT_CONFIG,
2006-06-20) unconditionally set GIT_CONFIG in the Makefile
when running tests to give us a known starting point.

This is insufficient for running the tests outside of the
Makefile, however, and 8565d2d (Make tests independent of
global config files, 2007-02-15) later set GIT_CONFIG
directly in test-lib.sh. At that point the Makefile setting
was redundant, but we never removed it. Let's do so now.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agotests: use "env" to run commands with temporary env-var settings
David Tran [Tue, 18 Mar 2014 18:54:05 +0000 (18:54 +0000)] 
tests: use "env" to run commands with temporary env-var settings

Ordinarily, we would say "VAR=VAL command" to execute a tested
command with environment variable(s) set only for that command.
This however does not work if 'command' is a shell function (most
notably 'test_must_fail'); the result of the assignment is retained
and affects later commands.

To avoid this, we used to assign and export environment variables
and run such a test in a subshell, like so:

        (
                VAR=VAL && export VAR &&
                test_must_fail git command to be tested
        )

But with "env" utility, we should be able to say:

        test_must_fail env VAR=VAL git command to be tested

which is much shorter and easier to read.

Signed-off-by: David Tran <unsignedzero@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoGit 1.9.0 v1.9.0
Junio C Hamano [Fri, 14 Feb 2014 19:35:04 +0000 (11:35 -0800)] 
Git 1.9.0

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agorelease notes: typo fixes
Michael J Gruber [Thu, 13 Feb 2014 10:35:08 +0000 (11:35 +0100)] 
release notes: typo fixes

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoSync with 1.8.5.5
Junio C Hamano [Thu, 13 Feb 2014 21:42:26 +0000 (13:42 -0800)] 
Sync with 1.8.5.5

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoGit 1.8.5.5 v1.8.5.5
Junio C Hamano [Thu, 13 Feb 2014 21:40:47 +0000 (13:40 -0800)] 
Git 1.8.5.5

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge branch 'bm/merge-base-octopus-dedup' into maint
Junio C Hamano [Thu, 13 Feb 2014 21:38:59 +0000 (13:38 -0800)] 
Merge branch 'bm/merge-base-octopus-dedup' into maint

"git merge-base --octopus" used to leave cleaning up suboptimal
result to the caller, but now it does the clean-up itself.

* bm/merge-base-octopus-dedup:
  merge-base --octopus: reduce the result from get_octopus_merge_bases()
  merge-base: separate "--independent" codepath into its own helper

10 years agoMerge branch 'jc/revision-range-unpeel' into maint
Junio C Hamano [Thu, 13 Feb 2014 21:38:47 +0000 (13:38 -0800)] 
Merge branch 'jc/revision-range-unpeel' into maint

"git log --left-right A...B" lost the "leftness" of commits
reachable from A when A is a tag as a side effect of a recent
bugfix.  This is a regression in 1.8.4.x series.

* jc/revision-range-unpeel:
  revision: propagate flag bits from tags to pointees
  revision: mark contents of an uninteresting tree uninteresting

10 years agoMerge branch 'jk/allow-fetch-onelevel-refname' into maint
Junio C Hamano [Thu, 13 Feb 2014 21:38:34 +0000 (13:38 -0800)] 
Merge branch 'jk/allow-fetch-onelevel-refname' into maint

"git clone" would fail to clone from a repository that has a ref
directly under "refs/", e.g. "refs/stash", because different
validation paths do different things on such a refname.  Loosen the
client side's validation to allow such a ref.

* jk/allow-fetch-onelevel-refname:
  fetch-pack: do not filter out one-level refs

10 years agoMerge branch 'jk/interpret-branch-name-fix' into maint
Junio C Hamano [Thu, 13 Feb 2014 21:38:25 +0000 (13:38 -0800)] 
Merge branch 'jk/interpret-branch-name-fix' into maint

A handful of bugs around interpreting $branch@{upstream} notation
and its lookalike, when $branch part has interesting characters,
e.g. "@", and ":", have been fixed.

* jk/interpret-branch-name-fix:
  interpret_branch_name: find all possible @-marks
  interpret_branch_name: avoid @{upstream} past colon
  interpret_branch_name: always respect "namelen" parameter
  interpret_branch_name: rename "cp" variable to "at"
  interpret_branch_name: factor out upstream handling

10 years agoMerge branch 'rk/send-email-ssl-cert' into maint
Junio C Hamano [Thu, 13 Feb 2014 21:38:19 +0000 (13:38 -0800)] 
Merge branch 'rk/send-email-ssl-cert' into maint

A recent update to "git send-email" broke platforms where
/etc/ssl/certs/ directory exists but cannot be used as SSL_ca_path
(e.g. Fedora rawhide).

* rk/send-email-ssl-cert:
  send-email: /etc/ssl/certs/ directory may not be usable as ca_path

10 years agoMerge branch 'sb/repack-in-c' into maint
Junio C Hamano [Thu, 13 Feb 2014 21:38:09 +0000 (13:38 -0800)] 
Merge branch 'sb/repack-in-c' into maint

"git repack --max-pack-size=8g" stopped being parsed correctly when
the command was reimplemented in C.

* sb/repack-in-c:
  repack: propagate pack-objects options as strings
  repack: make parsed string options const-correct
  repack: fix typo in max-pack-size option

10 years agoMerge branch 'as/tree-walk-fix-aggressive-short-cut' into maint
Junio C Hamano [Thu, 13 Feb 2014 21:37:53 +0000 (13:37 -0800)] 
Merge branch 'as/tree-walk-fix-aggressive-short-cut' into maint

The pathspec matching code, while comparing two trees (e.g. "git
diff A B -- path1 path2") was too aggressive and failed to match
some paths when multiple pathspecs were involved.

* as/tree-walk-fix-aggressive-short-cut:
  tree_entry_interesting: match against all pathspecs

10 years agoMerge git://github.com/git-l10n/git-po
Junio C Hamano [Wed, 12 Feb 2014 20:28:47 +0000 (12:28 -0800)] 
Merge git://github.com/git-l10n/git-po

* 'master' of git://github.com/git-l10n/git-po:
  l10n: de.po: correct message when hiding commits by craft
  l10n: de.po: translate 28 new messages

10 years agol10n: de.po: correct message when hiding commits by craft
Ralf Thielow [Sat, 8 Feb 2014 21:01:36 +0000 (22:01 +0100)] 
l10n: de.po: correct message when hiding commits by craft

The recent translation was giving the idea that all commits
based on a graft were meant to be hidden. Make it clear that
it is the graft commit itself.

Reported-by: David Kastrup <dak@gnu.org>
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
10 years agol10n: de.po: translate 28 new messages
Ralf Thielow [Fri, 3 Jan 2014 17:38:12 +0000 (18:38 +0100)] 
l10n: de.po: translate 28 new messages

Translate 28 new messages came from git.pot update in
df49095 (l10n: git.pot: v1.9 round 1 (27 new, 11 removed)
and d57b24b (l10n: git.pot: v1.9 round 2 (1 new)).

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
10 years agoMerge git://github.com/git-l10n/git-po
Junio C Hamano [Tue, 11 Feb 2014 19:02:05 +0000 (11:02 -0800)] 
Merge git://github.com/git-l10n/git-po

* 'master' of git://github.com/git-l10n/git-po:
  l10n: zh_CN.po: Disambiguation for rebase
  l10n: zh_CN.po: translate 1 new message (2211t0f0u)
  l10n: vi.po (2211t): Updated one new string
  l10n: Update Swedish translation (2211t0f0u)
  l10n: fr: 1.9rc2 2211t
  l10n: git.pot: v1.9 round 2 (1 new)

10 years agoGit 1.9.0-rc3 v1.9.0-rc3
Junio C Hamano [Fri, 7 Feb 2014 19:56:07 +0000 (11:56 -0800)] 
Git 1.9.0-rc3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge branch 'ow/manpages-typofix'
Junio C Hamano [Fri, 7 Feb 2014 19:55:11 +0000 (11:55 -0800)] 
Merge branch 'ow/manpages-typofix'

Various typofixes, all looked correct.

* ow/manpages-typofix:
  Documentation: fix typos in man pages

10 years agoMerge branch 'aj/ada-diff-word-pattern'
Junio C Hamano [Fri, 7 Feb 2014 19:55:10 +0000 (11:55 -0800)] 
Merge branch 'aj/ada-diff-word-pattern'

* aj/ada-diff-word-pattern:
  userdiff: update Ada patterns

10 years agoMerge branch 'nd/tag-doc'
Junio C Hamano [Fri, 7 Feb 2014 19:55:06 +0000 (11:55 -0800)] 
Merge branch 'nd/tag-doc'

* nd/tag-doc:
  git-tag.txt: <commit> for --contains is optional

10 years agol10n: zh_CN.po: Disambiguation for rebase
Jiang Xin [Sun, 2 Feb 2014 12:46:58 +0000 (20:46 +0800)] 
l10n: zh_CN.po: Disambiguation for rebase

Disambiguate the Chinese translation for "rebase", and update other
related entries.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
10 years agoDocumentation: fix typos in man pages
Øystein Walle [Wed, 5 Feb 2014 22:19:43 +0000 (23:19 +0100)] 
Documentation: fix typos in man pages

Signed-off-by: Øystein Walle <oystwa@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoSync with 1.8.5.4
Junio C Hamano [Wed, 5 Feb 2014 22:14:40 +0000 (14:14 -0800)] 
Sync with 1.8.5.4

10 years agohowto/maintain-git.txt: new version numbering scheme
Junio C Hamano [Fri, 31 Jan 2014 23:14:05 +0000 (15:14 -0800)] 
howto/maintain-git.txt: new version numbering scheme

We wanted to call the upcoming release "Git 1.9", with its
maintenance track being "Git 1.9.1", "Git 1.9.2", etc., but various
third-party tools are reported to assume that there are at least
three dewey-decimal components in our version number.

Adjust the plan so that vX.Y.0 are feature releases while vX.Y.Z
(Z > 0) are maintenance releases.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoGit 1.8.5.4 v1.8.5.4
Junio C Hamano [Wed, 5 Feb 2014 22:05:31 +0000 (14:05 -0800)] 
Git 1.8.5.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge branch 'jc/maint-pull-docfix' into maint
Junio C Hamano [Wed, 5 Feb 2014 22:03:47 +0000 (14:03 -0800)] 
Merge branch 'jc/maint-pull-docfix' into maint

The documentation to "git pull" hinted there is an "-m" option
because it incorrectly shared the documentation with "git merge".

* jc/maint-pull-docfix:
  Documentation: "git pull" does not have the "-m" option
  Documentation: exclude irrelevant options from "git pull"

10 years agoMerge branch 'ow/stash-with-ifs' into maint
Junio C Hamano [Wed, 5 Feb 2014 22:03:20 +0000 (14:03 -0800)] 
Merge branch 'ow/stash-with-ifs' into maint

The implementation of 'git stash $cmd "stash@{...}"' did not quote
the stash argument properly and left it split at IFS whitespace.

* ow/stash-with-ifs:
  stash: handle specifying stashes with $IFS

10 years agoMerge branch 'js/lift-parent-count-limit' into maint
Junio C Hamano [Wed, 5 Feb 2014 22:03:01 +0000 (14:03 -0800)] 
Merge branch 'js/lift-parent-count-limit' into maint

There is no reason to have a hardcoded upper limit of the number of
parents for an octopus merge, created via the graft mechanism, but
there was.

* js/lift-parent-count-limit:
  Remove the line length limit for graft files

10 years agoMerge branch 'nd/add-empty-fix' into maint
Junio C Hamano [Wed, 5 Feb 2014 22:02:44 +0000 (14:02 -0800)] 
Merge branch 'nd/add-empty-fix' into maint

"git add -A" (no other arguments) in a totally empty working tree
used to emit an error.

* nd/add-empty-fix:
  add: don't complain when adding empty project root

10 years agoMerge branch 'bc/log-decoration' into maint
Junio C Hamano [Wed, 5 Feb 2014 22:02:05 +0000 (14:02 -0800)] 
Merge branch 'bc/log-decoration' into maint

"git log --decorate" did not handle a tag pointed by another tag
nicely.

* bc/log-decoration:
  log: properly handle decorations with chained tags

10 years agoMerge branch 'jh/rlimit-nofile-fallback' into maint
Junio C Hamano [Wed, 5 Feb 2014 22:01:23 +0000 (14:01 -0800)] 
Merge branch 'jh/rlimit-nofile-fallback' into maint

When we figure out how many file descriptors to allocate for
keeping packfiles open, a system with non-working getrlimit() could
cause us to die(), but because we make this call only to get a
rough estimate of how many is available and we do not even attempt
to use up all file descriptors available ourselves, it is nicer to
fall back to a reasonable low value rather than dying.

* jh/rlimit-nofile-fallback:
  get_max_fd_limit(): fall back to OPEN_MAX upon getrlimit/sysconf failure

10 years agoMerge branch 'jl/commit-v-strip-marker' into maint
Junio C Hamano [Wed, 5 Feb 2014 22:01:09 +0000 (14:01 -0800)] 
Merge branch 'jl/commit-v-strip-marker' into maint

"git commit -v" appends the patch to the log message before
editing, and then removes the patch when the editor returned
control. However, the patch was not stripped correctly when the
first modified path was a submodule.

* jl/commit-v-strip-marker:
  commit -v: strip diffs and submodule shortlogs from the commit message

10 years agoMerge branch 'tr/send-email-ssl' into maint
Junio C Hamano [Wed, 5 Feb 2014 22:00:18 +0000 (14:00 -0800)] 
Merge branch 'tr/send-email-ssl' into maint

SSL-related options were not passed correctly to underlying socket
layer in "git send-email".

* tr/send-email-ssl:
  send-email: set SSL options through IO::Socket::SSL::set_client_defaults
  send-email: --smtp-ssl-cert-path takes an argument
  send-email: pass Debug to Net::SMTP::SSL::new

10 years agoMerge branch 'tb/clone-ssh-with-colon-for-port' into maint
Junio C Hamano [Wed, 5 Feb 2014 21:59:16 +0000 (13:59 -0800)] 
Merge branch 'tb/clone-ssh-with-colon-for-port' into maint

Remote repository URL expressed in scp-style host:path notation are
parsed more carefully (e.g. "foo/bar:baz" is local, "[::1]:/~user" asks
to connect to user's home directory on host at address ::1.

* tb/clone-ssh-with-colon-for-port:
  git_connect(): use common return point
  connect.c: refactor url parsing
  git_connect(): refactor the port handling for ssh
  git fetch: support host:/~repo
  t5500: add test cases for diag-url
  git fetch-pack: add --diag-url
  git_connect: factor out discovery of the protocol and its parts
  git_connect: remove artificial limit of a remote command
  t5601: add tests for ssh
  t5601: remove clear_ssh, refactor setup_ssh_wrapper

10 years agoMerge branch 'nd/transport-positive-depth-only' into maint
Junio C Hamano [Wed, 5 Feb 2014 21:58:51 +0000 (13:58 -0800)] 
Merge branch 'nd/transport-positive-depth-only' into maint

"git fetch --depth=0" was a no-op, and was silently ignored.
Diagnose it as an error.

* nd/transport-positive-depth-only:
  clone,fetch: catch non positive --depth option value

10 years agoMerge branch 'tb/repack-fix-renames' (early part)
Junio C Hamano [Wed, 5 Feb 2014 20:02:29 +0000 (12:02 -0800)] 
Merge branch 'tb/repack-fix-renames' (early part)

Finishing touches to the "rewrite repack in C" series.

* 'tb/repack-fix-renames' (early part):
  repack.c: rename and unlink pack file if it exists

10 years agorepack.c: rename and unlink pack file if it exists
Torsten Bögershausen [Sun, 2 Feb 2014 15:09:56 +0000 (16:09 +0100)] 
repack.c: rename and unlink pack file if it exists

When a repo was fully repacked, and is repacked again, we may run
into the situation that "new" packfiles have the same name as
already existing ones (traditionally packfiles have been named after
the list of names of objects in them, so repacking all the objects
in a single pack would have produced a packfile with the same name).

The logic is to rename the existing ones into filename like
"old-XXX", create the new ones and then remove the "old-" ones.
When something went wrong in the middle, this sequence is rolled
back by renaming the "old-" files back.

The renaming into "old-" did not work as intended, because
file_exists() was done on "XXX", not "pack-XXX".  Also when rolling
back the change, the code tried to rename "old-pack-XXX" but the
saved ones are named "old-XXX", so this couldn't have worked.

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agouserdiff: update Ada patterns
Adrian Johnson [Mon, 3 Feb 2014 11:33:16 +0000 (22:03 +1030)] 
userdiff: update Ada patterns

- Allow extra space in "is new" and "is separate"
- Fix bug in word regex for numbers

Signed-off-by: Adrian Johnson <ajohnson@redneon.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agogit-tag.txt: <commit> for --contains is optional
Nguyễn Thái Ngọc Duy [Tue, 4 Feb 2014 02:56:26 +0000 (09:56 +0700)] 
git-tag.txt: <commit> for --contains is optional

This goes far back to e84fb2f (branch --contains: default to HEAD -
2008-07-08) where the same parsing code is shared with
builtin/tag.c. git-branch.txt correctly states that <commit> for
--contains is optional while git-tag.txt does not. Correct it.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agol10n: zh_CN.po: translate 1 new message (2211t0f0u)
Jiang Xin [Sun, 2 Feb 2014 12:46:58 +0000 (20:46 +0800)] 
l10n: zh_CN.po: translate 1 new message (2211t0f0u)

Update translation for git v1.9-rc2.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
10 years agoMerge branch 'master' of git://github.com/nafmo/git-l10n-sv
Jiang Xin [Mon, 3 Feb 2014 01:47:27 +0000 (09:47 +0800)] 
Merge branch 'master' of git://github.com/nafmo/git-l10n-sv

* 'master' of git://github.com/nafmo/git-l10n-sv:
  l10n: Update Swedish translation (2211t0f0u)

10 years agoMerge branch 'master' of git://github.com/vnwildman/git
Jiang Xin [Mon, 3 Feb 2014 01:45:14 +0000 (09:45 +0800)] 
Merge branch 'master' of git://github.com/vnwildman/git

* 'master' of git://github.com/vnwildman/git:
  l10n: vi.po (2211t): Updated one new string

10 years agol10n: vi.po (2211t): Updated one new string
Tran Ngoc Quan [Mon, 3 Feb 2014 00:49:47 +0000 (07:49 +0700)] 
l10n: vi.po (2211t): Updated one new string

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
10 years agol10n: Update Swedish translation (2211t0f0u)
Peter Krefting [Sun, 2 Feb 2014 16:22:21 +0000 (17:22 +0100)] 
l10n: Update Swedish translation (2211t0f0u)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
10 years agol10n: fr: 1.9rc2 2211t
Jean-Noel Avila [Sun, 2 Feb 2014 13:36:32 +0000 (14:36 +0100)] 
l10n: fr: 1.9rc2 2211t

Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
10 years agol10n: git.pot: v1.9 round 2 (1 new)
Jiang Xin [Sat, 1 Feb 2014 00:07:02 +0000 (08:07 +0800)] 
l10n: git.pot: v1.9 round 2 (1 new)

Generate po/git.pot from v1.9-rc2 for git v1.9 l10n round 2.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
10 years agoGit 1.9-rc2 v1.9-rc2
Junio C Hamano [Fri, 31 Jan 2014 22:16:06 +0000 (14:16 -0800)] 
Git 1.9-rc2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge git://github.com/git-l10n/git-po
Junio C Hamano [Fri, 31 Jan 2014 18:52:29 +0000 (10:52 -0800)] 
Merge git://github.com/git-l10n/git-po

* 'master' of git://github.com/git-l10n/git-po:
  l10n: Bulgarian translation of git (222t21f1967u)
  po/TEAMS: Added Bulgarian team
  l10n: remove 2 blank translations on Danish, Dutch
  l10n: zh_CN.po: translate 27 messages (2210t0f0u)
  l10n: Update Swedish translation (2210t0f0u)
  [fr] update french translation 2210/2210
  l10n: vi.po (2210t): Updated git-core translation
  l10n: git.pot: v1.9 round 1 (27 new, 11 removed)

10 years agoMerge branch 'jn/pager-lv-default-env'
Junio C Hamano [Fri, 31 Jan 2014 18:51:57 +0000 (10:51 -0800)] 
Merge branch 'jn/pager-lv-default-env'

A finishing touch to its test.

* jn/pager-lv-default-env:
  pager test: make fake pager consume all its input

10 years agopager test: make fake pager consume all its input
Jonathan Nieder [Thu, 30 Jan 2014 16:42:32 +0000 (08:42 -0800)] 
pager test: make fake pager consume all its input

Otherwise there is a race: if 'git log' finishes writing before the
pager terminates and closes the pipe, all is well, and if the pager
finishes quickly enough then 'git log' terminates with SIGPIPE.

 died of signal 13 at /build/buildd/git-1.9~rc1/t/test-terminal.perl line 33.
 not ok 6 - LESS and LV envvars are set for pagination

Noticed on Ubuntu PPA builders, where the race was lost about half the
time.  Compare v1.7.0.2~6^2 (tests: Fix race condition in t7006-pager,
2010-02-22).

Reported-by: Anders Kaseorg <andersk@MIT.EDU>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agol10n: Bulgarian translation of git (222t21f1967u)
Alexander Shopov [Mon, 20 Jan 2014 19:39:30 +0000 (21:39 +0200)] 
l10n: Bulgarian translation of git (222t21f1967u)

Signed-off-by: Alexander Shopov <ash@kambanaria.org>
10 years agopo/TEAMS: Added Bulgarian team
Alexander Shopov [Tue, 28 Jan 2014 17:14:08 +0000 (19:14 +0200)] 
po/TEAMS: Added Bulgarian team

Signed-off-by: Alexander Shopov <ash@kambanaria.org>
10 years agoGit 1.9-rc1 v1.9-rc1
Junio C Hamano [Mon, 27 Jan 2014 19:01:35 +0000 (11:01 -0800)] 
Git 1.9-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge branch 'as/tree-walk-fix-aggressive-short-cut'
Junio C Hamano [Mon, 27 Jan 2014 18:48:32 +0000 (10:48 -0800)] 
Merge branch 'as/tree-walk-fix-aggressive-short-cut'

* as/tree-walk-fix-aggressive-short-cut:
  tree_entry_interesting: match against all pathspecs

10 years agoMerge branch 'ta/doc-http-protocol-in-html'
Junio C Hamano [Mon, 27 Jan 2014 18:45:59 +0000 (10:45 -0800)] 
Merge branch 'ta/doc-http-protocol-in-html'

* ta/doc-http-protocol-in-html:
  http-protocol.txt: don't use uppercase for variable names in "The Negotiation Algorithm"
  Documentation: make it easier to maintain enumerated documents
  create HTML for http-protocol.txt

10 years agoMerge branch 'mh/doc-wo-names'
Junio C Hamano [Mon, 27 Jan 2014 18:45:56 +0000 (10:45 -0800)] 
Merge branch 'mh/doc-wo-names'

* mh/doc-wo-names:
  doc: remote author/documentation sections from more pages

10 years agoMerge branch 'jk/revision-o-is-in-libgit-a'
Junio C Hamano [Mon, 27 Jan 2014 18:45:52 +0000 (10:45 -0800)] 
Merge branch 'jk/revision-o-is-in-libgit-a'

* jk/revision-o-is-in-libgit-a:
  Makefile: remove redundant object in git-http{fetch,push}

10 years agoMerge branch 'sb/repack-in-c'
Junio C Hamano [Mon, 27 Jan 2014 18:45:49 +0000 (10:45 -0800)] 
Merge branch 'sb/repack-in-c'

"git repack --max-pack-size=8g" stopped being parsed correctly when
the command was reimplemented in C.

* sb/repack-in-c:
  repack: propagate pack-objects options as strings
  repack: make parsed string options const-correct
  repack: fix typo in max-pack-size option

10 years agoMerge branch 'jk/test-fixes'
Junio C Hamano [Mon, 27 Jan 2014 18:45:46 +0000 (10:45 -0800)] 
Merge branch 'jk/test-fixes'

* jk/test-fixes:
  t7700: do not use "touch" unnecessarily
  t7501: fix "empty commit" test with NO_PERL

10 years agoMerge branch 'nd/negative-pathspec'
Junio C Hamano [Mon, 27 Jan 2014 18:45:43 +0000 (10:45 -0800)] 
Merge branch 'nd/negative-pathspec'

* nd/negative-pathspec:
  tree-walk.c: ignore trailing slash on submodule in tree_entry_interesting()

10 years agoMerge branch 'pw/git-p4'
Junio C Hamano [Mon, 27 Jan 2014 18:45:41 +0000 (10:45 -0800)] 
Merge branch 'pw/git-p4'

Various "git p4" updates.

* pw/git-p4:
  git p4 doc: use two-line style for options with multiple spellings
  git p4 test: examine behavior with locked (+l) files
  git p4: fix an error message when "p4 where" fails
  git p4: handle files with wildcards when doing RCS scrubbing
  git p4 test: do not pollute /tmp
  git p4 test: run as user "author"
  git p4 test: is_cli_file_writeable succeeds
  git p4 test: explicitly check p4 wildcard delete
  git p4: work around p4 bug that causes empty symlinks
  git p4 test: ensure p4 symlink parsing works
  git p4 test: wildcards are supported

10 years agoMerge branch 'ss/safe-create-leading-dir-with-slash'
Junio C Hamano [Mon, 27 Jan 2014 18:45:37 +0000 (10:45 -0800)] 
Merge branch 'ss/safe-create-leading-dir-with-slash'

"git clone $origin foo\bar\baz" on Windows failed to create the
leading directories (i.e. a moral-equivalent of "mkdir -p").

* ss/safe-create-leading-dir-with-slash:
  safe_create_leading_directories(): on Windows, \ can separate path components

10 years agoMerge branch 'mh/safe-create-leading-directories'
Junio C Hamano [Mon, 27 Jan 2014 18:45:33 +0000 (10:45 -0800)] 
Merge branch 'mh/safe-create-leading-directories'

Code clean-up and protection against concurrent write access to the
ref namespace.

* mh/safe-create-leading-directories:
  rename_tmp_log(): on SCLD_VANISHED, retry
  rename_tmp_log(): limit the number of remote_empty_directories() attempts
  rename_tmp_log(): handle a possible mkdir/rmdir race
  rename_ref(): extract function rename_tmp_log()
  remove_dir_recurse(): handle disappearing files and directories
  remove_dir_recurse(): tighten condition for removing unreadable dir
  lock_ref_sha1_basic(): if locking fails with ENOENT, retry
  lock_ref_sha1_basic(): on SCLD_VANISHED, retry
  safe_create_leading_directories(): add new error value SCLD_VANISHED
  cmd_init_db(): when creating directories, handle errors conservatively
  safe_create_leading_directories(): introduce enum for return values
  safe_create_leading_directories(): always restore slash at end of loop
  safe_create_leading_directories(): split on first of multiple slashes
  safe_create_leading_directories(): rename local variable
  safe_create_leading_directories(): add explicit "slash" pointer
  safe_create_leading_directories(): reduce scope of local variable
  safe_create_leading_directories(): fix format of "if" chaining

10 years agoMerge branch 'tr/nth-previous-is-a-commit'
Junio C Hamano [Mon, 27 Jan 2014 18:45:30 +0000 (10:45 -0800)] 
Merge branch 'tr/nth-previous-is-a-commit'

* tr/nth-previous-is-a-commit:
  Documentation: @{-N} can refer to a commit

10 years agoMerge branch 'tr/gitk-doc-range-trace'
Junio C Hamano [Mon, 27 Jan 2014 18:45:23 +0000 (10:45 -0800)] 
Merge branch 'tr/gitk-doc-range-trace'

* tr/gitk-doc-range-trace:
  Documentation/gitk: document -L option

10 years agoMerge branch 'jk/mark-edges-uninteresting'
Junio C Hamano [Mon, 27 Jan 2014 18:45:08 +0000 (10:45 -0800)] 
Merge branch 'jk/mark-edges-uninteresting'

Fix performance regression in v1.8.4.x and later.

* jk/mark-edges-uninteresting:
  list-objects: only look at cmdline trees with edge_hint
  t/perf: time rev-list with UNINTERESTING commits

10 years agoMerge branch 'jk/diff-filespec-cleanup'
Junio C Hamano [Mon, 27 Jan 2014 18:45:02 +0000 (10:45 -0800)] 
Merge branch 'jk/diff-filespec-cleanup'

* jk/diff-filespec-cleanup:
  diff_filespec: use only 2 bits for is_binary flag
  diff_filespec: reorder is_binary field
  diff_filespec: drop xfrm_flags field
  diff_filespec: drop funcname_pattern_ident field
  diff_filespec: reorder dirty_submodule macro definitions

10 years agoMerge branch 'ef/mingw-write'
Junio C Hamano [Mon, 27 Jan 2014 18:44:59 +0000 (10:44 -0800)] 
Merge branch 'ef/mingw-write'

* ef/mingw-write:
  mingw: remove mingw_write
  prefer xwrite instead of write

10 years agoMerge branch 'rk/send-email-ssl-cert'
Junio C Hamano [Mon, 27 Jan 2014 18:44:34 +0000 (10:44 -0800)] 
Merge branch 'rk/send-email-ssl-cert'

The "if /etc/ssl/certs/ directory exists, explicitly telling the
library to use it as SSL_ca_path" blind-defaulting in "git
send-email" broke platforms where /etc/ssl/certs/ directory exists,
but it cannot used as SSL_ca_path (e.g. Fedora rawhide).  Fix it by
not specifying any SSL_ca_path/SSL_ca_file but still asking for peer
verification in such a case.

* rk/send-email-ssl-cert:
  send-email: /etc/ssl/certs/ directory may not be usable as ca_path

10 years agoMerge branch 'jn/ignore-doc'
Junio C Hamano [Mon, 27 Jan 2014 18:44:26 +0000 (10:44 -0800)] 
Merge branch 'jn/ignore-doc'

Explicitly list $HOME/.config/git/ignore as one of the places you
can use to keep ignore patterns that depend on your personal choice
of tools, e.g. *~ for Emacs users.

* jn/ignore-doc:
  gitignore doc: add global gitignore to synopsis

10 years agoMerge branch 'jk/interpret-branch-name-fix'
Junio C Hamano [Mon, 27 Jan 2014 18:44:20 +0000 (10:44 -0800)] 
Merge branch 'jk/interpret-branch-name-fix'

Fix a handful of bugs around interpreting $branch@{upstream}
notation and its lookalike, when $branch part has interesting
characters, e.g. "@", and ":".

* jk/interpret-branch-name-fix:
  interpret_branch_name: find all possible @-marks
  interpret_branch_name: avoid @{upstream} past colon
  interpret_branch_name: always respect "namelen" parameter
  interpret_branch_name: rename "cp" variable to "at"
  interpret_branch_name: factor out upstream handling

10 years agoMerge branch 'jk/allow-fetch-onelevel-refname'
Junio C Hamano [Mon, 27 Jan 2014 18:44:13 +0000 (10:44 -0800)] 
Merge branch 'jk/allow-fetch-onelevel-refname'

"git clone" would fail to clone from a repository that has a ref
directly under "refs/", e.g. "refs/stash", because different
validation paths do different things on such a refname.  Loosen the
client side's validation to allow such a ref.

* jk/allow-fetch-onelevel-refname:
  fetch-pack: do not filter out one-level refs

10 years agoMerge branch 'jc/revision-range-unpeel'
Junio C Hamano [Mon, 27 Jan 2014 18:44:09 +0000 (10:44 -0800)] 
Merge branch 'jc/revision-range-unpeel'

"git log --left-right A...B" lost the "leftness" of commits
reachable from A when A is a tag as a side effect of a recent
bugfix.  This is a regression in 1.8.4.x series.

* jc/revision-range-unpeel:
  revision: propagate flag bits from tags to pointees
  revision: mark contents of an uninteresting tree uninteresting

10 years agoMerge branch 'mh/retire-ref-fetch-rules'
Junio C Hamano [Mon, 27 Jan 2014 18:44:06 +0000 (10:44 -0800)] 
Merge branch 'mh/retire-ref-fetch-rules'

Code simplification.

* mh/retire-ref-fetch-rules:
  refname_match(): always use the rules in ref_rev_parse_rules

10 years agoMerge branch 'mh/attr-macro-doc'
Junio C Hamano [Mon, 27 Jan 2014 18:44:04 +0000 (10:44 -0800)] 
Merge branch 'mh/attr-macro-doc'

* mh/attr-macro-doc:
  gitattributes: document more clearly where macros are allowed

10 years agoMerge branch 'jc/maint-pull-docfix'
Junio C Hamano [Mon, 27 Jan 2014 18:44:00 +0000 (10:44 -0800)] 
Merge branch 'jc/maint-pull-docfix'

* jc/maint-pull-docfix:
  Documentation: "git pull" does not have the "-m" option
  Documentation: exclude irrelevant options from "git pull"

10 years agoMerge branch 'jk/complete-merge-base'
Junio C Hamano [Mon, 27 Jan 2014 18:43:55 +0000 (10:43 -0800)] 
Merge branch 'jk/complete-merge-base'

* jk/complete-merge-base:
  completion: handle --[no-]fork-point options to git-rebase
  completion: complete merge-base options

10 years agoMerge branch 'ab/subtree-doc'
Junio C Hamano [Mon, 27 Jan 2014 18:43:51 +0000 (10:43 -0800)] 
Merge branch 'ab/subtree-doc'

* ab/subtree-doc:
  subtree: fix argument validation in add/pull/push

10 years agohttp-protocol.txt: don't use uppercase for variable names in "The Negotiation Algorithm"
Thomas Ackermann [Sun, 26 Jan 2014 12:56:17 +0000 (13:56 +0100)] 
http-protocol.txt: don't use uppercase for variable names in "The Negotiation Algorithm"

Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoDocumentation: make it easier to maintain enumerated documents
Junio C Hamano [Mon, 27 Jan 2014 17:04:32 +0000 (09:04 -0800)] 
Documentation: make it easier to maintain enumerated documents

Instead of starting an enumeration of documents with a DOC = doc1
followed by DOC += doc2, DOC += doc3, ..., empty it with "DOC =" at
the beginning and consistently add them with "DOC += ...".

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agocreate HTML for http-protocol.txt
Thomas Ackermann [Sun, 26 Jan 2014 12:57:19 +0000 (13:57 +0100)] 
create HTML for http-protocol.txt

./Documentation/technical/http-protocol.txt was missing from TECH_DOCS in Makefile.
Add it and also improve HTML formatting while still retaining good readability of the ASCII text:
- Use monospace font instead of italicized or roman font for machine output and source text
- Use roman font for things which should be body text
- Use double quotes consistently for "want" and "have" commands
- Use uppercase "C" / "S" consistently for "client" / "server";
  also use "C:" / "S:" instead of "(C)" / "(S)" for consistency and
  to avoid having formatted "(C)" as copyright symbol in HTML
- Use only spaces and not a combination of tabs and spaces for whitespace

Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agotree_entry_interesting: match against all pathspecs
Andy Spencer [Sat, 25 Jan 2014 22:06:46 +0000 (22:06 +0000)] 
tree_entry_interesting: match against all pathspecs

The current basedir compare aborts early in order to avoid futile
recursive searches. However, a match may still be found by another
pathspec. This can cause an error while checking out files from a branch
when using multiple pathspecs:

$ git checkout master -- 'a/*.txt' 'b/*.txt'
error: pathspec 'a/*.txt' did not match any file(s) known to git.

Signed-off-by: Andy Spencer <andy753421@gmail.com>
Acked-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMakefile: remove redundant object in git-http{fetch,push}
John Keeping [Sat, 25 Jan 2014 13:11:44 +0000 (13:11 +0000)] 
Makefile: remove redundant object in git-http{fetch,push}

revision.o is included in libgit.a which is in $(GITLIBS), so we don't
need to include is separately.  This fixes compilation with
"-fwhole-program" which otherwise fails with messages like this:

  libgit.a(revision.o): In function `mark_tree_uninteresting':
  /home/john/src/git/revision.c:108: multiple definition of `mark_tree_uninteresting'
  /tmp/ccKQRkZV.ltrans2.ltrans.o:/home/john/src/git/revision.c:108: first defined here

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agodoc: remote author/documentation sections from more pages
Michael Haggerty [Sun, 26 Jan 2014 23:43:49 +0000 (00:43 +0100)] 
doc: remote author/documentation sections from more pages

We decided at 48bb914e (doc: drop author/documentation sections from
most pages, 2011-03-11) to remove "author" and "documentation"
sections from our documentation.  Remove a few stragglers.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agol10n: remove 2 blank translations on Danish, Dutch
Jiang Xin [Sat, 18 Jan 2014 09:08:14 +0000 (17:08 +0800)] 
l10n: remove 2 blank translations on Danish, Dutch

Two l10n teams haven't contributed a single translation for about two
years since they was initialized with a blank template.  Remove them
can make the Git package smaller and give opportunities to other
contributors.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
10 years agol10n: zh_CN.po: translate 27 messages (2210t0f0u)
Jiang Xin [Sat, 18 Jan 2014 03:04:21 +0000 (11:04 +0800)] 
l10n: zh_CN.po: translate 27 messages (2210t0f0u)

Translations for git v1.9-rc0, and also update translations on "graft"
and "reference repository".

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
10 years agot7700: do not use "touch" unnecessarily
Jeff King [Thu, 23 Jan 2014 19:55:18 +0000 (14:55 -0500)] 
t7700: do not use "touch" unnecessarily

Some versions of touch (such as /usr/ucb/touch on Solaris)
do not know about the "-r" option. This would make sense as
a feature of test-chmtime, but fortunately this fix is even
easier.

The test does not care about the timestamp of the .keep file it
creates at all, only that it exists. For such a use case, with or
without portability issues around "-r", "touch" should not be used
in the first place.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agot7501: fix "empty commit" test with NO_PERL
Jeff King [Thu, 23 Jan 2014 19:54:57 +0000 (14:54 -0500)] 
t7501: fix "empty commit" test with NO_PERL

t7501.9 tries to check that "git commit" will fail when the
index is unchanged. It relies on previous tests not to have
modified the index. When it was originally written, this was
always the case. However, commit c65dc35 (t7501: test the
right kind of breakage, 2012-03-30) changed earlier tests (4
and 5) to leave a modification in the index.

We never noticed, however, because t7501.7, between the two,
clears the index state as a side effect. However, that test
depends on the PERL prerequisite, and so it does not always
run. Therefore if NO_PERL is set, we do not run the
intervening test, the index is left unclean, and t7501.9
fails.

We could fix this by moving t7501.9 up in the script.
However, this patch instead leaves it in place and adds a
"git reset" before the commit. This makes the test more
explicit about its preconditions, and will future-proof it
against any other changes in the test state.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agotree-walk.c: ignore trailing slash on submodule in tree_entry_interesting()
Nguyễn Thái Ngọc Duy [Thu, 23 Jan 2014 13:22:05 +0000 (20:22 +0700)] 
tree-walk.c: ignore trailing slash on submodule in tree_entry_interesting()

We do ignore trailing slash on a directory, so pathspec "abc/" matches
directory "abc". A submodule is also a directory. Apply the same logic
to it. This makes "git log submodule-path" and "git log submodule-path/"
produce the same output.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agorepack: propagate pack-objects options as strings
Jeff King [Thu, 23 Jan 2014 01:30:13 +0000 (20:30 -0500)] 
repack: propagate pack-objects options as strings

In the original shell version of git-repack, any options
destined for pack-objects were left as strings, and passed
as a whole. Since the C rewrite in commit a1bbc6c (repack:
rewrite the shell script in C, 2013-09-15), we now parse
these values to integers internally, then reformat the
integers when passing the option to pack-objects.

This has the advantage that we catch format errors earlier
(i.e., when repack is invoked, rather than when pack-objects
is invoked).

It has three disadvantages, though:

  1. Our internal data types may not be the right size. In
     the case of "--window-memory" and "--max-pack-size",
     these are "unsigned long" in pack-objects, but we can
     only represent a regular "int".

  2. Our parsing routines might not be the same as those of
     pack-objects. For the two options above, pack-objects
     understands "100m" to mean "100 megabytes", but repack
     does not.

  3. We have to keep a sentinel value to know whether it is
     worth passing the option along. In the case of
     "--window-memory", we currently do not pass it if the
     value is "0". But that is a meaningful value to
     pack-objects, where it overrides any configured value.

We can fix all of these by simply passing the strings from
the user along to pack-objects verbatim. This does not
actually fix anything for "--depth" or "--window", but these
are converted, too, for consistency.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agorepack: make parsed string options const-correct
Jeff King [Thu, 23 Jan 2014 01:28:30 +0000 (20:28 -0500)] 
repack: make parsed string options const-correct

When we use OPT_STRING to parse an option, we get back a
pointer into the argv array, which should be "const char *".
The compiler doesn't notice because it gets passed through a
"void *" in the option struct.

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