git
10 years agoMerge branch 'hs/simplify-bit-setting-in-fsck-tree'
Junio C Hamano [Mon, 31 Mar 2014 23:30:44 +0000 (16:30 -0700)] 
Merge branch 'hs/simplify-bit-setting-in-fsck-tree'

* hs/simplify-bit-setting-in-fsck-tree:
  fsck: use bitwise-or assignment operator to set flag

10 years agoMerge branch 'dt/tests-with-env-not-subshell'
Junio C Hamano [Mon, 31 Mar 2014 23:30:40 +0000 (16:30 -0700)] 
Merge branch 'dt/tests-with-env-not-subshell'

* dt/tests-with-env-not-subshell:
  tests: use "env" to run commands with temporary env-var settings

10 years agoUpdate draft release notes to 2.0
Junio C Hamano [Fri, 28 Mar 2014 20:56:29 +0000 (13:56 -0700)] 
Update draft release notes to 2.0

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge branch 'ys/fsck-commit-parsing'
Junio C Hamano [Fri, 28 Mar 2014 20:51:24 +0000 (13:51 -0700)] 
Merge branch 'ys/fsck-commit-parsing'

* ys/fsck-commit-parsing:
  fsck.c:fsck_commit(): use skip_prefix() to verify and skip constant
  fsck.c:fsck_ident(): ident points at a const string

10 years agoMerge branch 'bg/rebase-off-of-previous-branch'
Junio C Hamano [Fri, 28 Mar 2014 20:51:20 +0000 (13:51 -0700)] 
Merge branch 'bg/rebase-off-of-previous-branch'

* bg/rebase-off-of-previous-branch:
  rebase: allow "-" short-hand for the previous branch

10 years agoMerge branch 'bp/commit-p-editor'
Junio C Hamano [Fri, 28 Mar 2014 20:51:11 +0000 (13:51 -0700)] 
Merge branch 'bp/commit-p-editor'

When it is not necessary to edit a commit log message (e.g. "git
commit -m" is given a message without specifying "-e"), we used to
disable the spawning of the editor by overriding GIT_EDITOR, but
this means all the uses of the editor, other than to edit the
commit log message, are also affected.

* bp/commit-p-editor:
  run-command: mark run_hook_with_custom_index as deprecated
  merge hook tests: fix and update tests
  merge: fix GIT_EDITOR override for commit hook
  commit: fix patch hunk editing with "commit -p -m"
  test patch hunk editing with "commit -p -m"
  merge hook tests: use 'test_must_fail' instead of '!'
  merge hook tests: fix missing '&&' in test

10 years agoMerge branch 'ah/doc-gitk-config'
Junio C Hamano [Fri, 28 Mar 2014 20:51:08 +0000 (13:51 -0700)] 
Merge branch 'ah/doc-gitk-config'

* ah/doc-gitk-config:
  Documentation/gitk: document the location of the configulation file

10 years agoMerge branch 'fr/add-interactive-argv-array'
Junio C Hamano [Fri, 28 Mar 2014 20:51:04 +0000 (13:51 -0700)] 
Merge branch 'fr/add-interactive-argv-array'

* fr/add-interactive-argv-array:
  add: use struct argv_array in run_add_interactive()

10 years agoMerge branch 'jk/subtree-prefix'
Junio C Hamano [Fri, 28 Mar 2014 20:50:59 +0000 (13:50 -0700)] 
Merge branch 'jk/subtree-prefix'

A stray environment variable $prefix could have leaked into and
affected the behaviour of the "subtree" script.

* jk/subtree-prefix:
  subtree: initialize "prefix" variable

10 years agoMerge branch 'jk/pack-bitmap-progress'
Junio C Hamano [Fri, 28 Mar 2014 20:50:56 +0000 (13:50 -0700)] 
Merge branch 'jk/pack-bitmap-progress'

The progress output while repacking and transferring objects showed
an apparent large silence while writing the objects out of existing
packfiles, when the reachability bitmap was in use.

* jk/pack-bitmap-progress:
  pack-objects: show reused packfile objects in "Counting objects"
  pack-objects: show progress for reused packfiles

10 years agoMerge branch 'jk/pack-bitmap'
Junio C Hamano [Fri, 28 Mar 2014 20:50:50 +0000 (13:50 -0700)] 
Merge branch 'jk/pack-bitmap'

Instead of dying when asked to (re)pack with the reachability
bitmap when a bitmap cannot be built, just (re)pack without
producing a bitmap in such a case, with a warning.

* jk/pack-bitmap:
  pack-objects: turn off bitmaps when skipping objects

10 years agoUpdate draft release notes to 2.0
Junio C Hamano [Tue, 25 Mar 2014 19:01:39 +0000 (12:01 -0700)] 
Update draft release notes to 2.0

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge branch 'ss/test-on-mingw-rsync-path-no-absolute'
Junio C Hamano [Tue, 25 Mar 2014 18:08:35 +0000 (11:08 -0700)] 
Merge branch 'ss/test-on-mingw-rsync-path-no-absolute'

* ss/test-on-mingw-rsync-path-no-absolute:
  t5510: Do not use $(pwd) when fetching / pushing / pulling via rsync

10 years agoMerge branch 'bb/diff-no-index-dotdot'
Junio C Hamano [Tue, 25 Mar 2014 18:08:31 +0000 (11:08 -0700)] 
Merge branch 'bb/diff-no-index-dotdot'

* bb/diff-no-index-dotdot:
  diff-no-index: replace manual "."/".." check with is_dot_or_dotdot()
  diff-no-index: rename read_directory()

10 years agoMerge branch 'us/printf-not-echo'
Junio C Hamano [Tue, 25 Mar 2014 18:08:26 +0000 (11:08 -0700)] 
Merge branch 'us/printf-not-echo'

* us/printf-not-echo:
  test-lib.sh: do not "echo" caller-supplied strings
  rebase -i: do not "echo" random user-supplied strings

10 years agoMerge branch 'rr/doc-merge-strategies'
Junio C Hamano [Tue, 25 Mar 2014 18:08:23 +0000 (11:08 -0700)] 
Merge branch 'rr/doc-merge-strategies'

* rr/doc-merge-strategies:
  Documentation/merge-strategies: avoid hyphenated commands

10 years agoMerge branch 'nd/index-pack-error-message'
Junio C Hamano [Tue, 25 Mar 2014 18:08:19 +0000 (11:08 -0700)] 
Merge branch 'nd/index-pack-error-message'

* nd/index-pack-error-message:
  index-pack: report error using the correct variable

10 years agoMerge branch 'jk/lib-terminal-lazy'
Junio C Hamano [Tue, 25 Mar 2014 18:08:09 +0000 (11:08 -0700)] 
Merge branch 'jk/lib-terminal-lazy'

The test helper lib-terminal always run an actual test_expect_* when
included, which screwed up with the use of skil-all that may have to
be done later.

* jk/lib-terminal-lazy:
  t/lib-terminal: make TTY a lazy prerequisite

10 years agoMerge branch 'dm/configure-iconv-locale-charset'
Junio C Hamano [Tue, 25 Mar 2014 18:07:51 +0000 (11:07 -0700)] 
Merge branch 'dm/configure-iconv-locale-charset'

* dm/configure-iconv-locale-charset:
  configure.ac: link with -liconv for locale_charset()

10 years agoMerge branch 'nd/commit-editor-cleanup'
Junio C Hamano [Tue, 25 Mar 2014 18:07:47 +0000 (11:07 -0700)] 
Merge branch 'nd/commit-editor-cleanup'

"git commit --cleanup=<mode>" learned a new mode, scissors.

* nd/commit-editor-cleanup:
  commit: add --cleanup=scissors
  wt-status.c: move cut-line print code out to wt_status_add_cut_line
  wt-status.c: make cut_line[] const to shrink .data section a bit

10 years agoMerge branch 'jk/warn-on-object-refname-ambiguity'
Junio C Hamano [Tue, 25 Mar 2014 18:07:36 +0000 (11:07 -0700)] 
Merge branch 'jk/warn-on-object-refname-ambiguity'

* jk/warn-on-object-refname-ambiguity:
  rev-list: disable object/refname ambiguity check with --stdin
  cat-file: restore warn_on_object_refname_ambiguity flag
  cat-file: fix a minor memory leak in batch_objects
  cat-file: refactor error handling of batch_objects

10 years agoMerge branch 'mh/remove-subtree-long-pathname-fix'
Junio C Hamano [Tue, 25 Mar 2014 18:07:09 +0000 (11:07 -0700)] 
Merge branch 'mh/remove-subtree-long-pathname-fix'

* mh/remove-subtree-long-pathname-fix:
  entry.c: fix possible buffer overflow in remove_subtree()
  checkout_entry(): use the strbuf throughout the function

10 years agoMerge branch 'nd/indent-fix-connect-c'
Junio C Hamano [Tue, 25 Mar 2014 18:07:05 +0000 (11:07 -0700)] 
Merge branch 'nd/indent-fix-connect-c'

* nd/indent-fix-connect-c:
  connect.c: SP after "}", not TAB

10 years agoMerge branch 'jk/mv-submodules-fix'
Junio C Hamano [Tue, 25 Mar 2014 18:02:01 +0000 (11:02 -0700)] 
Merge branch 'jk/mv-submodules-fix'

"git mv" that moves a submodule forgot to adjust the array that uses
to keep track of which submodules were to be moved to update its
configuration.

* jk/mv-submodules-fix:
  mv: prevent mismatched data when ignoring errors.
  builtin/mv: fix out of bounds write

10 years agoMerge branch 'cp/am-patch-format-doc'
Junio C Hamano [Tue, 25 Mar 2014 18:01:31 +0000 (11:01 -0700)] 
Merge branch 'cp/am-patch-format-doc'

* cp/am-patch-format-doc:
  Documentation/git-am: typofix
  Documentation/git-am: Document supported --patch-format options

10 years agoUpdate draft release notes to 2.0
Junio C Hamano [Fri, 21 Mar 2014 20:41:27 +0000 (13:41 -0700)] 
Update draft release notes to 2.0

10 years agoMerge branch 'lt/request-pull'
Junio C Hamano [Fri, 21 Mar 2014 19:50:44 +0000 (12:50 -0700)] 
Merge branch 'lt/request-pull'

Discard the accumulated "heuristics" to guess from which branch the
result wants to be pulled from and make sure what the end user
specified is not second-guessed by "git request-pull", to avoid
mistakes.

* lt/request-pull:
  request-pull: documentation updates
  request-pull: resurrect "pretty refname" feature
  request-pull: test updates
  request-pull: pick up tag message as before
  request-pull: allow "local:remote" to specify names on both ends
  request-pull: more strictly match local/remote branches

10 years agoMerge branch 'es/sh-i18n-envsubst'
Junio C Hamano [Fri, 21 Mar 2014 19:50:39 +0000 (12:50 -0700)] 
Merge branch 'es/sh-i18n-envsubst'

* es/sh-i18n-envsubst:
  sh-i18n--envsubst: retire unused string_list_member()

10 years agoMerge branch 'nd/upload-pack-shallow'
Junio C Hamano [Fri, 21 Mar 2014 19:49:08 +0000 (12:49 -0700)] 
Merge branch 'nd/upload-pack-shallow'

Serving objects from a shallow repository needs to write a
temporary file to be used, but the serving upload-pack may not have
write access to the repository which is meant to be read-only.

Instead feed these temporary shallow bounds from the standard input
of pack-objects so that we do not have to use a temporary file.

* nd/upload-pack-shallow:
  upload-pack: send shallow info over stdin to pack-objects

10 years agoMerge branch 'jn/wt-status'
Junio C Hamano [Fri, 21 Mar 2014 19:48:59 +0000 (12:48 -0700)] 
Merge branch 'jn/wt-status'

Unify the codepaths that format new/modified/changed sections and
conflicted paths in the "git status" output and make it possible to
properly internationalize their output.

* jn/wt-status:
  wt-status: lift the artificual "at least 20 columns" floor
  wt-status: i18n of section labels
  wt-status: extract the code to compute width for labels
  wt-status: make full label string to be subject to l10n

10 years agoMerge branch 'jc/stash-pop-not-popped'
Junio C Hamano [Fri, 21 Mar 2014 19:48:51 +0000 (12:48 -0700)] 
Merge branch 'jc/stash-pop-not-popped'

"stash pop", upon failing to apply the stash, refrains from
discarding the stash to avoid information loss.  Be more explicit
in the error message.

The wording may want to get a bit more bikeshedding.

* jc/stash-pop-not-popped:
  stash pop: mention we did not drop the stash upon failing to apply

10 years agoMerge branch 'dk/skip-prefix-scan-only-once'
Junio C Hamano [Fri, 21 Mar 2014 19:47:41 +0000 (12:47 -0700)] 
Merge branch 'dk/skip-prefix-scan-only-once'

Update implementation of skip_prefix() to scan only once; given
that most "prefix" arguments to the inline function are constant
strings whose strlen() can be determined at the compile time, this
might actually make things worse with a compiler with sufficient
intelligence.

* dk/skip-prefix-scan-only-once:
  skip_prefix(): scan prefix only once

10 years agoMerge branch 'nd/tag-version-sort'
Junio C Hamano [Fri, 21 Mar 2014 19:47:38 +0000 (12:47 -0700)] 
Merge branch 'nd/tag-version-sort'

Allow v1.9.0 sorted before v1.10.0 in "git tag --list" output.

* nd/tag-version-sort:
  tag: support --sort=<spec>

10 years agoMerge branch 'jk/shallow-update-fix'
Junio C Hamano [Fri, 21 Mar 2014 19:33:29 +0000 (12:33 -0700)] 
Merge branch 'jk/shallow-update-fix'

Serving objects from a shallow repository needs to write a
new file to hold the temporary shallow boundaries but it was not
cleaned when we exit due to die() or a signal.

* jk/shallow-update-fix:
  shallow: verify shallow file after taking lock
  shallow: automatically clean up shallow tempfiles
  shallow: use stat_validity to check for up-to-date file

10 years agoMerge branch 'tc/commit-dry-run-exit-status-tests'
Junio C Hamano [Fri, 21 Mar 2014 19:33:25 +0000 (12:33 -0700)] 
Merge branch 'tc/commit-dry-run-exit-status-tests'

* tc/commit-dry-run-exit-status-tests:
  demonstrate git-commit --dry-run exit code behaviour

10 years agofsck: use bitwise-or assignment operator to set flag
Hiroyuki Sano [Wed, 19 Mar 2014 23:02:04 +0000 (08:02 +0900)] 
fsck: use bitwise-or assignment operator to set flag

fsck_tree() has two different ways to set a flag variable, either by
using a if-statement that guards an assignment, or by using a
bitwise-or assignment operator.  Most are done with the former, and
only one variable is assigned with the latter.

Since all the conditions are short-and-sweet, we can afford to
uniformly use the latter style, which makes the resulting code
shorter and easier to read.

Signed-off-by: Hiroyuki Sano <sh19910711@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoDocumentation/gitk: document the location of the configulation file
Astril Hayato [Thu, 20 Mar 2014 13:33:49 +0000 (13:33 +0000)] 
Documentation/gitk: document the location of the configulation file

User config file location complies with the XDG base directory
specification while supporting the traditional $HOME/.gitk as a
fallback.

Signed-off-by: Astril Hayato <astrilhayato@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agofsck.c:fsck_commit(): use skip_prefix() to verify and skip constant
Yuxuan Shui [Thu, 13 Mar 2014 04:45:51 +0000 (12:45 +0800)] 
fsck.c:fsck_commit(): use skip_prefix() to verify and skip constant

fsck_commit() uses memcmp() to check if the buffer starts with a
certain prefix, and skips the prefix if it does.

This is exactly what skip_prefix() was designed for.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agot5510: Do not use $(pwd) when fetching / pushing / pulling via rsync
Sebastian Schuberth [Wed, 19 Mar 2014 19:43:53 +0000 (20:43 +0100)] 
t5510: Do not use $(pwd) when fetching / pushing / pulling via rsync

On MINGW, "pwd" is defined as "pwd -W" in test-lib.sh. This usually is the
right thing, but the absolute Windows path with a colon confuses rsync. We
could use $PWD in this case to work around the issue, but in fact there is
no need to use an absolute path in the first place, so get rid of it.

This was discovered in the context of the mingwGitDevEnv project and only
did not surface before with msysgit because the latter does not ship
rsync.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
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 agodiff-no-index: replace manual "."/".." check with is_dot_or_dotdot()
Brian Bourn [Wed, 19 Mar 2014 15:58:22 +0000 (11:58 -0400)] 
diff-no-index: replace manual "."/".." check with is_dot_or_dotdot()

Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Brian Bourn <ba.bourn@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agodiff-no-index: rename read_directory()
Brian Bourn [Wed, 19 Mar 2014 15:58:21 +0000 (11:58 -0400)] 
diff-no-index: rename read_directory()

In the next patch, we will replace a manual checking of "." or ".."
with a call to is_dot_or_dotdot() defined in dir.h.  The private
function read_directory() defined in this file will conflict with
the global function declared there when we do so.

As a preparatory step, rename the private read_directory() to avoid
the name collision.

Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Brian Bourn <ba.bourn@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agorebase: allow "-" short-hand for the previous branch
Brian Gesiak [Wed, 19 Mar 2014 11:02:15 +0000 (20:02 +0900)] 
rebase: allow "-" short-hand for the previous branch

Teach rebase the same shorthand as checkout and merge to name the
branch to rebase the current branch on; that is, that "-" means "the
branch we were previously on".

Requested-by: Tim Chase <git@tim.thechases.com>
Signed-off-by: Brian Gesiak <modocache@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoSync with 1.9.1
Junio C Hamano [Tue, 18 Mar 2014 21:34:25 +0000 (14:34 -0700)] 
Sync with 1.9.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoUpdate draft release notes to Git 2.0
Junio C Hamano [Tue, 18 Mar 2014 21:33:34 +0000 (14:33 -0700)] 
Update draft release notes to Git 2.0

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoGit 1.9.1 v1.9.1
Junio C Hamano [Tue, 18 Mar 2014 21:06:49 +0000 (14:06 -0700)] 
Git 1.9.1

The version numbering scheme has changed since Git 1.9 and we
dropped the third dewey-decimal from the traditional numbering
(e.g. both 1.8.4 and 1.8.5 were major feature releases).  This
release 1.9.1 is the first maintenance relase for Git 1.9.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge branch 'jk/clean-d-pathspec' into maint
Junio C Hamano [Tue, 18 Mar 2014 21:04:59 +0000 (14:04 -0700)] 
Merge branch 'jk/clean-d-pathspec' into maint

"git clean -d pathspec" did not use the given pathspec correctly
and ended up cleaning too much.

* jk/clean-d-pathspec:
  clean: simplify dir/not-dir logic
  clean: respect pathspecs with "-d"

10 years agoMerge branch 'da/difftool-git-files' into maint
Junio C Hamano [Tue, 18 Mar 2014 21:04:36 +0000 (14:04 -0700)] 
Merge branch 'da/difftool-git-files' into maint

"git difftool" misbehaved when the repository is bound to the
working tree with the ".git file" mechanism, where a textual file
".git" tells us where it is.

* da/difftool-git-files:
  t7800: add a difftool test for .git-files
  difftool: support repositories with .git-files

10 years agoMerge branch 'jk/remote-pushremote-config-reading' into maint
Junio C Hamano [Tue, 18 Mar 2014 21:04:16 +0000 (14:04 -0700)] 
Merge branch 'jk/remote-pushremote-config-reading' into maint

"git push" did not pay attention to branch.*.pushremote if it is
defined earlier than remote.pushdefault; the order of these two
variables in the configuration file should not matter, but it did by
mistake.

* jk/remote-pushremote-config-reading:
  remote: handle pushremote config in any order

10 years agoMerge branch 'jk/commit-dates-parsing-fix' into maint
Junio C Hamano [Tue, 18 Mar 2014 21:04:01 +0000 (14:04 -0700)] 
Merge branch 'jk/commit-dates-parsing-fix' into maint

Codepaths that parse timestamps in commit objects have been
tightened.

* jk/commit-dates-parsing-fix:
  show_ident_date: fix tz range check
  log: do not segfault on gmtime errors
  log: handle integer overflow in timestamps
  date: check date overflow against time_t
  fsck: report integer overflow in author timestamps
  t4212: test bogus timestamps with git-log

10 years agoMerge branch 'tr/diff-submodule-no-reuse-worktree' into maint
Junio C Hamano [Tue, 18 Mar 2014 21:03:41 +0000 (14:03 -0700)] 
Merge branch 'tr/diff-submodule-no-reuse-worktree' into maint

"git diff --external-diff" incorrectly fed the submodule directory
in the working tree to the external diff driver when it knew it is
the same as one of the versions being compared.

* tr/diff-submodule-no-reuse-worktree:
  diff: do not reuse_worktree_file for submodules

10 years agoMerge branch 'nd/reset-setup-worktree' into maint
Junio C Hamano [Tue, 18 Mar 2014 21:03:24 +0000 (14:03 -0700)] 
Merge branch 'nd/reset-setup-worktree' into maint

"git reset" needs to refresh the index when working in a working
tree (it can also be used to match the index to the HEAD in an
otherwise bare repository), but it failed to set up the working
tree properly, causing GIT_WORK_TREE to be ignored.

* nd/reset-setup-worktree:
  reset: optionally setup worktree and refresh index on --mixed

10 years agoMerge branch 'jc/check-attr-honor-working-tree' into maint
Junio C Hamano [Tue, 18 Mar 2014 21:03:03 +0000 (14:03 -0700)] 
Merge branch 'jc/check-attr-honor-working-tree' into maint

"git check-attr" when working on a repository with a working tree
did not work well when the working tree was specified via the
--work-tree (and obviously with --git-dir) option.

* jc/check-attr-honor-working-tree:
  check-attr: move to the top of working tree when in non-bare repository
  t0003: do not chdir the whole test process

10 years agoMerge branch 'bk/refresh-missing-ok-in-merge-recursive' into maint
Junio C Hamano [Tue, 18 Mar 2014 21:02:37 +0000 (14:02 -0700)] 
Merge branch 'bk/refresh-missing-ok-in-merge-recursive' into maint

"merge-recursive" was broken in 1.7.7 era and stopped working in an
empty (temporary) working tree, when there are renames involved.
This has been corrected.

* bk/refresh-missing-ok-in-merge-recursive:
  merge-recursive.c: tolerate missing files while refreshing index
  read-cache.c: extend make_cache_entry refresh flag with options
  read-cache.c: refactor --ignore-missing implementation
  t3030-merge-recursive: test known breakage with empty work tree

10 years agoMerge branch 'ds/rev-parse-required-args' into maint
Junio C Hamano [Tue, 18 Mar 2014 21:01:05 +0000 (14:01 -0700)] 
Merge branch 'ds/rev-parse-required-args' into maint

"git rev-parse" was loose in rejecting command line arguments that
do not make sense, e.g. "--default" without the required value for
that option.

* ds/rev-parse-required-args:
  rev-parse: check i before using argv[i] against argc

10 years agoMerge branch 'jk/config-path-include-fix' into maint
Junio C Hamano [Tue, 18 Mar 2014 21:00:15 +0000 (14:00 -0700)] 
Merge branch 'jk/config-path-include-fix' into maint

include.path variable (or any variable that expects a path that can
use ~username expansion) in the configuration file is not a boolean,
but the code failed to check it.

* jk/config-path-include-fix:
  handle_path_include: don't look at NULL value
  expand_user_path: do not look at NULL path

10 years agoMerge branch 'nd/diff-quiet-stat-dirty' into maint
Junio C Hamano [Tue, 18 Mar 2014 20:59:55 +0000 (13:59 -0700)] 
Merge branch 'nd/diff-quiet-stat-dirty' into maint

"git diff --quiet -- pathspec1 pathspec2" sometimes did not return
correct status value.

* nd/diff-quiet-stat-dirty:
  diff: do not quit early on stat-dirty files
  diff.c: move diffcore_skip_stat_unmatch core logic out for reuse later

10 years agoMerge branch 'nd/http-fetch-shallow-fix' into maint
Junio C Hamano [Tue, 18 Mar 2014 20:59:37 +0000 (13:59 -0700)] 
Merge branch 'nd/http-fetch-shallow-fix' into maint

Attempting to deepen a shallow repository by fetching over smart
HTTP transport failed in the protocol exchange, when no-done
extension was used.  The fetching side waited for the list of
shallow boundary commits after the sending end stopped talking to
it.

* nd/http-fetch-shallow-fix:
  t5537: move http tests out to t5539
  fetch-pack: fix deepen shallow over smart http with no-done cap
  protocol-capabilities.txt: document no-done
  protocol-capabilities.txt: refer multi_ack_detailed back to pack-protocol.txt
  pack-protocol.txt: clarify 'obj-id' in the last ACK after 'done'
  test: rename http fetch and push test files
  tests: auto-set LIB_HTTPD_PORT from test name

10 years agoMerge branch 'nd/submodule-pathspec-ending-with-slash' into maint
Junio C Hamano [Tue, 18 Mar 2014 20:58:58 +0000 (13:58 -0700)] 
Merge branch 'nd/submodule-pathspec-ending-with-slash' into maint

Allow "git cmd path/", when the 'path' is where a submodule is
bound to the top-level working tree, to match 'path', despite the
extra and unnecessary trailing slash (such a slash is often
given by command line completion).

* nd/submodule-pathspec-ending-with-slash:
  clean: use cache_name_is_other()
  clean: replace match_pathspec() with dir_path_match()
  pathspec: pass directory indicator to match_pathspec_item()
  match_pathspec: match pathspec "foo/" against directory "foo"
  dir.c: prepare match_pathspec_item for taking more flags
  pathspec: rename match_pathspec_depth() to match_pathspec()
  pathspec: convert some match_pathspec_depth() to dir_path_match()
  pathspec: convert some match_pathspec_depth() to ce_path_match()

10 years agoMerge branch 'rs/grep-h-c'
Junio C Hamano [Tue, 18 Mar 2014 20:51:20 +0000 (13:51 -0700)] 
Merge branch 'rs/grep-h-c'

"git grep" learns to handle combination of "-h (no header)" and "-c
(counts)".

* rs/grep-h-c:
  grep: support -h (no header) with --count
  t7810: add missing variables to tests in loop

10 years agoMerge branch 'rm/strchrnul-not-strlen'
Junio C Hamano [Tue, 18 Mar 2014 20:51:18 +0000 (13:51 -0700)] 
Merge branch 'rm/strchrnul-not-strlen'

* rm/strchrnul-not-strlen:
  use strchrnul() in place of strchr() and strlen()

10 years agoMerge branch 'jc/tag-contains-with'
Junio C Hamano [Tue, 18 Mar 2014 20:51:14 +0000 (13:51 -0700)] 
Merge branch 'jc/tag-contains-with'

* jc/tag-contains-with:
  tag: grok "--with" as synonym to "--contains"

10 years agoMerge branch 'bg/install-branch-config-skip-prefix'
Junio C Hamano [Tue, 18 Mar 2014 20:51:09 +0000 (13:51 -0700)] 
Merge branch 'bg/install-branch-config-skip-prefix'

* bg/install-branch-config-skip-prefix:
  branch: use skip_prefix() in install_branch_config()
  t3200-branch: test setting branch as own upstream

10 years agoMerge branch 'jc/no-need-for-env-in-sh-scripts'
Junio C Hamano [Tue, 18 Mar 2014 20:51:07 +0000 (13:51 -0700)] 
Merge branch 'jc/no-need-for-env-in-sh-scripts'

* jc/no-need-for-env-in-sh-scripts:
  *.sh: drop useless use of "env"

10 years agoMerge branch 'sh/use-hashcpy'
Junio C Hamano [Tue, 18 Mar 2014 20:51:04 +0000 (13:51 -0700)] 
Merge branch 'sh/use-hashcpy'

* sh/use-hashcpy:
  Use hashcpy() when copying object names

10 years agoMerge branch 'mh/simplify-cache-tree-find'
Junio C Hamano [Tue, 18 Mar 2014 20:51:02 +0000 (13:51 -0700)] 
Merge branch 'mh/simplify-cache-tree-find'

* mh/simplify-cache-tree-find:
  cache_tree_find(): use path variable when passing over slashes
  cache_tree_find(): remove early return
  cache_tree_find(): remove redundant check
  cache_tree_find(): fix comment formatting
  cache_tree_find(): find the end of path component using strchrnul()
  cache_tree_find(): remove redundant checks

10 years agoMerge branch 'jn/branch-lift-unnecessary-name-length-limit'
Junio C Hamano [Tue, 18 Mar 2014 20:50:48 +0000 (13:50 -0700)] 
Merge branch 'jn/branch-lift-unnecessary-name-length-limit'

* jn/branch-lift-unnecessary-name-length-limit:
  branch.c: delete size check of newly tracked branch names

10 years agoMerge branch 'jk/doc-deprecate-grafts'
Junio C Hamano [Tue, 18 Mar 2014 20:50:40 +0000 (13:50 -0700)] 
Merge branch 'jk/doc-deprecate-grafts'

* jk/doc-deprecate-grafts:
  docs: mark info/grafts as outdated

10 years agoMerge branch 'jk/detect-push-typo-early'
Junio C Hamano [Tue, 18 Mar 2014 20:50:33 +0000 (13:50 -0700)] 
Merge branch 'jk/detect-push-typo-early'

Catch "git push $there no-such-branch" early.

* jk/detect-push-typo-early:
  push: detect local refspec errors early
  match_explicit_lhs: allow a "verify only" mode
  match_explicit: hoist refspec lhs checks into their own function

10 years agoMerge branch 'jk/repack-pack-keep-objects'
Junio C Hamano [Tue, 18 Mar 2014 20:50:29 +0000 (13:50 -0700)] 
Merge branch 'jk/repack-pack-keep-objects'

* jk/repack-pack-keep-objects:
  repack: add `repack.packKeptObjects` config var

10 years agoMerge branch 'sh/finish-tmp-packfile'
Junio C Hamano [Tue, 18 Mar 2014 20:50:24 +0000 (13:50 -0700)] 
Merge branch 'sh/finish-tmp-packfile'

* sh/finish-tmp-packfile:
  finish_tmp_packfile():use strbuf for pathname construction

10 years agoMerge branch 'dd/use-alloc-grow'
Junio C Hamano [Tue, 18 Mar 2014 20:50:21 +0000 (13:50 -0700)] 
Merge branch 'dd/use-alloc-grow'

Replace open-coded reallocation with ALLOC_GROW() macro.

* dd/use-alloc-grow:
  sha1_file.c: use ALLOC_GROW() in pretend_sha1_file()
  read-cache.c: use ALLOC_GROW() in add_index_entry()
  builtin/mktree.c: use ALLOC_GROW() in append_to_tree()
  attr.c: use ALLOC_GROW() in handle_attr_line()
  dir.c: use ALLOC_GROW() in create_simplify()
  reflog-walk.c: use ALLOC_GROW()
  replace_object.c: use ALLOC_GROW() in register_replace_object()
  patch-ids.c: use ALLOC_GROW() in add_commit()
  diffcore-rename.c: use ALLOC_GROW()
  diff.c: use ALLOC_GROW()
  commit.c: use ALLOC_GROW() in register_commit_graft()
  cache-tree.c: use ALLOC_GROW() in find_subtree()
  bundle.c: use ALLOC_GROW() in add_to_ref_list()
  builtin/pack-objects.c: use ALLOC_GROW() in check_pbase_path()

10 years agoMerge branch 'dd/find-graft-with-sha1-pos'
Junio C Hamano [Tue, 18 Mar 2014 20:50:11 +0000 (13:50 -0700)] 
Merge branch 'dd/find-graft-with-sha1-pos'

Replace a hand-rolled binary search with a call to our generic
binary search helper function.

* dd/find-graft-with-sha1-pos:
  commit.c: use the generic "sha1_pos" function for lookup

10 years agoMerge branch 'fc/transport-helper-fixes'
Junio C Hamano [Tue, 18 Mar 2014 20:49:32 +0000 (13:49 -0700)] 
Merge branch 'fc/transport-helper-fixes'

Updates transport-helper, fast-import and fast-export to allow the
ref mapping and ref deletion in a way similar to the natively
supported transports.

* fc/transport-helper-fixes:
  remote-bzr: support the new 'force' option
  test-hg.sh: tests are now expected to pass
  transport-helper.c: do not overwrite forced bit
  transport-helper: check for 'forced update' message
  transport-helper: add 'force' to 'export' helpers
  transport-helper: don't update refs in dry-run
  transport-helper: mismerge fix

10 years agoMerge branch 'nd/sha1-file-delta-stack-leakage-fix'
Junio C Hamano [Tue, 18 Mar 2014 20:49:22 +0000 (13:49 -0700)] 
Merge branch 'nd/sha1-file-delta-stack-leakage-fix'

Fix a small leak in the delta stack used when resolving a long
delta chain at runtime.

* nd/sha1-file-delta-stack-leakage-fix:
  sha1_file: fix delta_stack memory leak in unpack_entry

10 years agoMerge branch 'jk/diff-filespec-cleanup'
Junio C Hamano [Tue, 18 Mar 2014 20:48:50 +0000 (13:48 -0700)] 
Merge branch 'jk/diff-filespec-cleanup'

Portability fix to a topic already in v1.9

* jk/diff-filespec-cleanup:
  diffcore.h: be explicit about the signedness of is_binary

10 years agoMerge branch 'jk/clean-d-pathspec'
Junio C Hamano [Tue, 18 Mar 2014 20:47:57 +0000 (13:47 -0700)] 
Merge branch 'jk/clean-d-pathspec'

"git clean -d pathspec" did not use the given pathspec correctly
and ended up cleaning too much.

* jk/clean-d-pathspec:
  clean: simplify dir/not-dir logic
  clean: respect pathspecs with "-d"

10 years agoadd: use struct argv_array in run_add_interactive()
Fabian Ruch [Sat, 15 Mar 2014 11:14:40 +0000 (12:14 +0100)] 
add: use struct argv_array in run_add_interactive()

run_add_interactive() in builtin/add.c manually computes array bounds
and allocates a static args array to build the add--interactive command
line, which is error-prone. Use the argv-array helper functions instead.

Signed-off-by: Fabian Ruch <bafain@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agotest-lib.sh: do not "echo" caller-supplied strings
Uwe Storbeck [Tue, 18 Mar 2014 00:14:11 +0000 (01:14 +0100)] 
test-lib.sh: do not "echo" caller-supplied strings

In some places we "echo" a string that is supplied by the calling
test script and may contain backslash sequences. The echo command
of some shells, most notably "dash", interprets these backslash
sequences (POSIX.1 allows this) which may scramble the test
output.

Signed-off-by: Uwe Storbeck <uwe@ibr.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agorun-command: mark run_hook_with_custom_index as deprecated
Benoit Pierre [Tue, 18 Mar 2014 10:00:56 +0000 (11:00 +0100)] 
run-command: mark run_hook_with_custom_index as deprecated

Signed-off-by: Benoit Pierre <benoit.pierre@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agomerge hook tests: fix and update tests
Benoit Pierre [Tue, 18 Mar 2014 10:00:55 +0000 (11:00 +0100)] 
merge hook tests: fix and update tests

- update 'no editor' hook test and add 'editor' hook test
- make sure the tree is reset to a clean state after running a test
  (using test_when_finished) so later tests are not impacted

Signed-off-by: Benoit Pierre <benoit.pierre@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agomerge: fix GIT_EDITOR override for commit hook
Benoit Pierre [Tue, 18 Mar 2014 10:00:54 +0000 (11:00 +0100)] 
merge: fix GIT_EDITOR override for commit hook

Don't set GIT_EDITOR to ":" when calling prepare-commit-msg hook if the
editor is going to be called (e.g. with "merge -e").

Signed-off-by: Benoit Pierre <benoit.pierre@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agocommit: fix patch hunk editing with "commit -p -m"
Benoit Pierre [Tue, 18 Mar 2014 10:00:53 +0000 (11:00 +0100)] 
commit: fix patch hunk editing with "commit -p -m"

Don't change git environment: move the GIT_EDITOR=":" override to the
hook command subprocess, like it's already done for GIT_INDEX_FILE.

Signed-off-by: Benoit Pierre <benoit.pierre@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agotest patch hunk editing with "commit -p -m"
Benoit Pierre [Tue, 18 Mar 2014 10:00:52 +0000 (11:00 +0100)] 
test patch hunk editing with "commit -p -m"

Add (failing) tests: with commit changing the environment to let hooks
know that no editor will be used (by setting GIT_EDITOR to ":"), the
"edit hunk" functionality does not work (no editor is launched and the
whole hunk is committed).

Signed-off-by: Benoit Pierre <benoit.pierre@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agosubtree: initialize "prefix" variable
Jeff King [Mon, 17 Mar 2014 19:59:47 +0000 (15:59 -0400)] 
subtree: initialize "prefix" variable

We parse the "--prefix" command-line option into the
"$prefix" shell variable. However, if we do not see such an
option, the variable is left with whatever value it had in
the environment. We should initialize it to a known value,
like we do for other variables.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoDocumentation/merge-strategies: avoid hyphenated commands
Ramkumar Ramachandra [Sun, 16 Mar 2014 22:54:56 +0000 (18:54 -0400)] 
Documentation/merge-strategies: avoid hyphenated commands

Replace git-pull and git-merge with the corresponding un-hyphenated
versions. While at it, use ` to mark it up instead of '.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoindex-pack: report error using the correct variable
Junio C Hamano [Mon, 17 Mar 2014 22:08:36 +0000 (15:08 -0700)] 
index-pack: report error using the correct variable

We feed a string pointer that is potentially NULL to die() when
showing the message.  Don't.

Noticed-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoDocumentation/git-am: typofix
Chris Packham [Mon, 17 Mar 2014 07:50:49 +0000 (20:50 +1300)] 
Documentation/git-am: typofix

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoshallow: verify shallow file after taking lock
Jeff King [Sat, 15 Mar 2014 03:47:06 +0000 (23:47 -0400)] 
shallow: verify shallow file after taking lock

Before writing the shallow file, we stat() the existing file
to make sure it has not been updated since our operation
began. However, we do not do so under a lock, so there is a
possible race:

  1. Process A takes the lock.

  2. Process B calls check_shallow_file_for_update and finds
     no update.

  3. Process A commits the lockfile.

  4. Process B takes the lock, then overwrite's process A's
     changes.

We can fix this by doing our check while we hold the lock.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agopack-objects: turn off bitmaps when skipping objects
Jeff King [Sat, 15 Mar 2014 02:38:29 +0000 (22:38 -0400)] 
pack-objects: turn off bitmaps when skipping objects

The pack bitmap format requires that we have a single bit
for each object in the pack, and that each object's bitmap
represents its complete set of reachable objects. Therefore
we have no way to represent the bitmap of an object which
references objects outside the pack.

We notice this problem while generating the bitmaps, as we
try to find the offset of a particular object and realize
that we do not have it. In this case we die, and neither the
bitmap nor the pack is generated. This is correct, but
perhaps a little unfriendly. If you have bitmaps turned on
in the config, many repacks will fail which would otherwise
succeed. E.g., incremental repacks, repacks with "-l" when
you have alternates, ".keep" files.

Instead, this patch notices early that we are omitting some
objects from the pack and turns off bitmaps (with a
warning). Note that this is not strictly correct, as it's
possible that the object being omitted is not reachable from
any other object in the pack. In practice, this is almost
never the case, and there are two advantages to doing it
this way:

  1. The code is much simpler, as we do not have to cleanly
     abort the bitmap-generation process midway through.

  2. We do not waste time partially generating bitmaps only
     to find out that some object deep in the history is not
     being packed.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agopack-objects: show reused packfile objects in "Counting objects"
Jeff King [Sat, 15 Mar 2014 02:26:58 +0000 (22:26 -0400)] 
pack-objects: show reused packfile objects in "Counting objects"

When we are sending a pack for push or fetch, we may reuse a
chunk of packfile without even parsing it. The progress
meter then looks like this:

  Reusing existing pack: 3440489, done.
  Counting objects: 3, done.

The first line shows that we are reusing a large chunk of
objects, and then we further count any objects not included
in the reused portion with an actual traversal.

These are all implementation details that the user does not
need to care about. Instead, we can show the reused objects
in the normal "counting..." progress meter (which will
simply go much faster than normal), and then continue to add
to it as we traverse.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agopack-objects: show progress for reused packfiles
Jeff King [Sat, 15 Mar 2014 02:26:21 +0000 (22:26 -0400)] 
pack-objects: show progress for reused packfiles

When the "--all-progress" option is in effect, pack-objects
shows a progress report for the "writing" phase. If the
repository has bitmaps and we are reusing a packfile, the
user sees no progress update until the whole packfile is
sent.  Since this is typically the bulk of what is being
written, it can look like git hangs during this phase, even
though the transfer is proceeding.

This generally only happens with "git push" from a
repository with bitmaps. We do not use "--all-progress" for
fetch (since the result is going to index-pack on the
client, which takes care of progress reporting). And for
regular repacks to disk, we do not reuse packfiles.

We already have the progress meter setup during
write_reused_pack; we just need to call display_progress
whiel we are writing out the pack. The progress meter is
attached to our output descriptor, so it automatically
handles the throughput measurements.

However, we need to update the object count as we go, since
that is what feeds the percentage we show. We aren't
actually parsing the packfile as we send it, so we have no
idea how many objects we have sent; we only know that at the
end of N bytes, we will have sent M objects. So we cheat a
little and assume each object is M/N bytes (i.e., the mean
of the objects we are sending). While this isn't strictly
true, it actually produces a more pleasing progress meter
for the user, as it moves smoothly and predictably (and
nobody really cares about the object count; they care about
the percentage, and the object count is a proxy for that).

One alternative would be to actually show two progress
meters: one for the reused pack, and one for the rest of the
objects. That would more closely reflect the data we have
(the first would be measured in bytes, and the second
measured in objects). But it would also be more complex and
annoying to the user; rather than seeing one progress meter
counting up to 100%, they would finish one meter, then start
another one at zero.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agorebase -i: do not "echo" random user-supplied strings
Uwe Storbeck [Fri, 14 Mar 2014 23:56:43 +0000 (00:56 +0100)] 
rebase -i: do not "echo" random user-supplied strings

In some places we "echo" a string that comes from a commit log
message, which may have a backslash sequence that is interpreted by
the command (POSIX.1 allows this), most notably "dash"'s built-in
'echo'.

A commit message which contains the string '\n' (or ends with the
string '\c') may result in a garbage line in the todo list of an
interactive rebase which causes the rebase to fail.

To reproduce the behavior (with dash as /bin/sh):

  mkdir test && cd test && git init
  echo 1 >foo && git add foo
  git commit -m"this commit message ends with '\n'"
  echo 2 >foo && git commit -a --fixup HEAD
  git rebase -i --autosquash --root

Now the editor opens with garbage in line 3 which has to be
removed or the rebase fails.

Signed-off-by: Uwe Storbeck <uwe@ibr.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agomv: prevent mismatched data when ignoring errors.
brian m. carlson [Sat, 15 Mar 2014 18:56:52 +0000 (18:56 +0000)] 
mv: prevent mismatched data when ignoring errors.

We shrink the source and destination arrays, but not the modes or
submodule_gitfile arrays, resulting in potentially mismatched data.  Shrink
all the arrays at the same time to prevent this.  Add tests to ensure the
problem does not recur.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agot/lib-terminal: make TTY a lazy prerequisite
Jeff King [Fri, 14 Mar 2014 21:57:23 +0000 (17:57 -0400)] 
t/lib-terminal: make TTY a lazy prerequisite

When lib-terminal.sh is sourced by a test script, we
immediately set up the TTY prerequisite. We do so inside a
test_expect_success, because that nicely isolates any
generated output.

However, this early test can interfere with a script that
later wants to skip all tests (e.g., t5541 then goes on to
set up the httpd server, and wants to skip_all if that
fails). TAP output doesn't let us skip everything after we
have already run at least one test.

We could fix this by reordering the inclusion of
lib-terminal.sh in t5541 to go after the httpd setup.  That
solves this case, but we might eventually hit a case with
circular dependencies, where either lib-*.sh include might
want to skip_all after the other has run a test.  So
instead, let's just remove the ordering constraint entirely
by doing the setup inside a test_lazy_prereq construct,
rather than in a regular test.  We never cared about the
test outcome anyway (it was written to always succeed).

Note that in addition to setting up the prerequisite, the
current test also defines test_terminal. Since we can't
affect the environment from a lazy_prereq, we have to hoist
that out. We previously depended on it _not_ being defined
when the TTY prereq isn't set as a way to ensure that tests
properly declare their dependency on TTY. However, we still
cover the case (see the in-code comment for details).

Reported-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoUpdate draft release notes to Git 2.0
Junio C Hamano [Thu, 13 Mar 2014 21:01:17 +0000 (14:01 -0700)] 
Update draft release notes to Git 2.0

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge branch 'ta/parse-commit-with-skip-prefix'
Junio C Hamano [Fri, 14 Mar 2014 21:27:23 +0000 (14:27 -0700)] 
Merge branch 'ta/parse-commit-with-skip-prefix'

* ta/parse-commit-with-skip-prefix:
  commit.c: use skip_prefix() instead of starts_with()

10 years agoMerge branch 'sr/add--interactive-term-readkey'
Junio C Hamano [Fri, 14 Mar 2014 21:27:21 +0000 (14:27 -0700)] 
Merge branch 'sr/add--interactive-term-readkey'

* sr/add--interactive-term-readkey:
  git-add--interactive: warn if module for interactive.singlekey is missing
  git-config: document interactive.singlekey requires Term::ReadKey

10 years agoMerge branch 'sh/write-pack-file-warning-message-fix'
Junio C Hamano [Fri, 14 Mar 2014 21:27:16 +0000 (14:27 -0700)] 
Merge branch 'sh/write-pack-file-warning-message-fix'

A warning from "git pack-objects" were generated by referring to an
incorrect variable when forming the filename that we had trouble
with.

* sh/write-pack-file-warning-message-fix:
  write_pack_file: use correct variable in diagnostic

10 years agoMerge branch 'nd/strbuf-inline-styles'
Junio C Hamano [Fri, 14 Mar 2014 21:27:13 +0000 (14:27 -0700)] 
Merge branch 'nd/strbuf-inline-styles'

* nd/strbuf-inline-styles:
  strbuf: style fix -- top opening bracket on a separate line