git-commit-vandalism/Documentation
Jeff King c1189caeaf refactor argv_array into generic code
The submodule code recently grew generic code to build a
dynamic argv array. Many other parts of the code can reuse
this, too, so let's make it generically available.

There are two enhancements not found in the original code:

  1. We now handle the NULL-termination invariant properly,
     even when no strings have been pushed (before, you
     could have an empty, NULL argv). This was not a problem
     for the submodule code, which always pushed at least
     one argument, but was not sufficiently safe for
     generic code.

  2. There is a formatted variant of the "push" function.
     This is a convenience function which was not needed by
     the submodule code, but will make it easier to port
     other users to the new code.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-09-14 11:56:36 -07:00
..
howto Documentation/merge subtree How-To: fix typo 2011-02-09 14:03:51 -08:00
pt_BR
RelNotes Git 1.7.6 2011-06-26 12:41:16 -07:00
technical refactor argv_array into generic code 2011-09-14 11:56:36 -07:00
.gitattributes
.gitignore
asciidoc.conf Merge branch 'jc/maint-doc-em-dash' 2010-09-03 09:43:42 -07:00
blame-options.txt blame: add --line-porcelain output format 2011-05-09 15:27:50 -07:00
build-docdep.perl
cat-texi.perl
cmd-list.perl
CodingGuidelines CodingGuidelines: downcase placeholders in usage messages 2011-02-15 11:53:00 -08:00
config.txt Merge branch 'vh/config-interactive-singlekey-doc' into maint 2011-05-31 12:01:06 -07:00
date-formats.txt
diff-config.txt New --dirstat=lines mode, doing dirstat analysis based on diffstat 2011-04-29 11:22:55 -07:00
diff-format.txt
diff-generate-patch.txt diff format documentation: clarify --cc and -c 2011-03-08 14:44:07 -08:00
diff-options.txt Merge branch 'maint' 2011-06-22 14:01:18 -07:00
docbook-xsl.css
docbook.xsl Documentation: set a !DOCTYPE for user manual 2010-08-20 10:53:56 -07:00
everyday.txt everyday.txt: change "tracking branch" to "remote-tracking branch" 2010-11-03 09:19:10 -07:00
fetch-options.txt fetch/pull: Don't recurse into a submodule when commits are already present 2011-03-09 13:10:35 -08:00
fix-texi.perl
git-add.txt Merge branch 'vh/config-interactive-singlekey-doc' into maint 2011-05-31 12:01:06 -07:00
git-am.txt Merge branch 'maint' 2011-03-22 14:56:13 -07:00
git-annotate.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-apply.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-archimport.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-archive.txt Merge branch 'maint' 2011-04-14 12:26:45 -07:00
git-bisect-lk2009.txt Documentation: remove stray backslashes from "Fighting regressions" article 2010-08-20 14:16:51 -07:00
git-bisect.txt Merge branch 'mg/doc-bisect-tweak-worktree' into maint 2011-04-01 16:23:15 -07:00
git-blame.txt blame: add --line-porcelain output format 2011-05-09 15:27:50 -07:00
git-branch.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-bundle.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-cat-file.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-check-attr.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-check-ref-format.txt Documentation: gitrevisions is in section 7 2010-10-13 19:10:55 -07:00
git-checkout-index.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-checkout.txt git-checkout.txt: better docs for '--patch' 2011-05-05 13:31:11 -07:00
git-cherry-pick.txt Merge branch 'ss/cherry-pick-x-doc' into maint 2011-05-16 16:38:56 -07:00
git-cherry.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-citool.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-clean.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-clone.txt init/clone: remove short option -L and document --separate-git-dir 2011-05-25 09:30:26 -07:00
git-commit-tree.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-commit.txt Add support for -p/--patch to git-commit 2011-05-09 17:02:33 -07:00
git-config.txt config: define and document exit codes 2011-05-17 21:01:17 -07:00
git-count-objects.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-cvsexportcommit.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-cvsimport.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-cvsserver.txt docs: make sure literal "->" isn't converted to arrow 2011-05-26 22:15:38 -07:00
git-daemon.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-describe.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-diff-files.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-diff-index.txt docs: fix some antique example output 2011-05-26 22:15:39 -07:00
git-diff-tree.txt docs: fix some antique example output 2011-05-26 22:15:39 -07:00
git-diff.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-difftool.txt Merge branch 'ss/mergetool--lib' 2011-03-19 23:24:27 -07:00
git-fast-export.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-fast-import.txt git-fast-import.txt: --relative-marks takes no parameter 2011-05-05 10:18:18 -07:00
git-fetch-pack.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-fetch.txt remove doubled words, e.g., s/to to/to/, and fix related typos 2011-04-13 11:59:11 -07:00
git-filter-branch.txt Merge branch 'maint' 2011-04-01 17:45:59 -07:00
git-fmt-merge-msg.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-for-each-ref.txt Add Author and Documentation sections to git-for-each-ref.txt 2011-03-09 12:22:15 -08:00
git-format-patch.txt Merge branch 'jn/format-patch-doc' into maint 2011-05-26 09:39:33 -07:00
git-fsck-objects.txt doc: add missing git footers 2011-03-11 10:59:16 -05:00
git-fsck.txt Documentation/git-fsck.txt: fix typo: unreadable -> unreachable 2011-05-16 16:35:08 -07:00
git-gc.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-get-tar-commit-id.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-grep.txt git-grep: Learn PCRE 2011-05-09 16:29:33 -07:00
git-gui.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-hash-object.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-help.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-http-backend.txt Documentation: Clarify support for smart HTTP backend 2010-03-30 16:49:19 -07:00
git-http-fetch.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-http-push.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-imap-send.txt Documentation: publicize hints for sending patches with GMail 2011-04-15 13:28:03 -07:00
git-index-pack.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-init-db.txt init/clone: remove short option -L and document --separate-git-dir 2011-05-25 09:30:26 -07:00
git-init.txt init/clone: remove short option -L and document --separate-git-dir 2011-05-25 09:30:26 -07:00
git-instaweb.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-log.txt log/pretty-options: Document --[no-]notes and deprecate old notes options 2011-03-30 11:36:51 -07:00
git-lost-found.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-ls-files.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-ls-remote.txt ls-remote: the --exit-code option reports "no matching refs" 2011-05-18 14:37:46 -07:00
git-ls-tree.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-mailinfo.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-mailsplit.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-merge-base.txt Merge branch 'vr/merge-base-doc' into maint 2011-05-16 16:38:46 -07:00
git-merge-file.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-merge-index.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-merge-one-file.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-merge-tree.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-merge.txt Merge branch 'jc/merge-sans-branch' 2011-04-01 17:57:16 -07:00
git-mergetool--lib.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-mergetool.txt Merge branch 'ss/mergetool--lib' 2011-03-19 23:24:27 -07:00
git-mktag.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-mktree.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-mv.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-name-rev.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-notes.txt notes remove: --stdin reads from the standard input 2011-05-19 10:54:16 -07:00
git-pack-objects.txt remove doubled words, e.g., s/to to/to/, and fix related typos 2011-04-13 11:59:11 -07:00
git-pack-redundant.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-pack-refs.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-parse-remote.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-patch-id.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-peek-remote.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-prune-packed.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-prune.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-pull.txt Merge branch 'jl/submodule-fetch-on-demand' 2011-04-04 15:02:01 -07:00
git-push.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-quiltimport.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-read-tree.txt Teach read-tree the -n|--dry-run option 2011-05-25 15:04:25 -07:00
git-rebase.txt Merge branch 'mz/rebase' 2011-04-28 14:11:39 -07:00
git-receive-pack.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-reflog.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-relink.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-remote-ext.txt Make <identifier> lowercase in Documentation 2011-02-17 11:49:54 -08:00
git-remote-fd.txt Fix typos in the documentation 2011-01-04 11:23:42 -08:00
git-remote-helpers.txt Documentation: do not misinterpret refspecs as bold text 2011-05-30 12:55:16 -07:00
git-remote.txt Merge branch 'jk/maint-remote-mirror-safer' 2011-04-06 10:38:14 -07:00
git-repack.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-replace.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-repo-config.txt doc: add missing git footers 2011-03-11 10:59:16 -05:00
git-request-pull.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-rerere.txt Merge branch 'js/rerere-forget-always-take-pathspec' 2011-03-19 23:24:48 -07:00
git-reset.txt git-reset.txt: better docs for '--patch' 2011-05-05 13:31:22 -07:00
git-rev-list.txt show: --ignore-missing 2011-05-19 10:55:54 -07:00
git-rev-parse.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-revert.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-rm.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-send-email.txt Documentation: publicize hints for sending patches with GMail 2011-04-15 13:28:03 -07:00
git-send-pack.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-sh-i18n--envsubst.txt git-sh-i18n--envsubst: add SYNOPSIS section to the documentation 2011-05-30 01:08:32 -07:00
git-sh-i18n.txt git-sh-i18n.sh: add no-op gettext() and eval_gettext() wrappers 2011-05-14 20:29:11 -07:00
git-sh-setup.txt Merge branch 'jc/require-work-tree-exists' 2011-05-26 10:31:47 -07:00
git-shell.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-shortlog.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-show-branch.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-show-index.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-show-ref.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-show.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-stage.txt doc: add missing git footers 2011-03-11 10:59:16 -05:00
git-stash.txt git-stash.txt: better docs for '--patch' 2011-05-05 12:43:11 -07:00
git-status.txt docs: make sure literal "->" isn't converted to arrow 2011-05-26 22:15:38 -07:00
git-stripspace.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-submodule.txt Merge branch 'nm/submodule-update-force' 2011-05-02 15:58:36 -07:00
git-svn.txt Merge branch 'ss/doc-svn' into maint 2011-05-26 09:39:40 -07:00
git-symbolic-ref.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-tag.txt Merge branch 'maint' 2011-03-28 14:17:17 -07:00
git-tar-tree.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-tools.txt
git-unpack-file.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-unpack-objects.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-update-index.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-update-ref.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-update-server-info.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-upload-archive.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-upload-pack.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-var.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-verify-pack.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-verify-tag.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-web--browse.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-whatchanged.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-write-tree.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git.txt Git 1.7.6 2011-06-26 12:41:16 -07:00
gitattributes.txt doc: discuss textconv versus external diff drivers 2011-05-24 15:57:03 -07:00
gitcli.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
gitcore-tutorial.txt Documentation: gitrevisions is in section 7 2010-10-13 19:10:55 -07:00
gitcvs-migration.txt
gitdiffcore.txt gitdiffcore doc: update pickaxe description 2010-08-31 14:28:20 -07:00
gitglossary.txt
githooks.txt Documentation/githooks: post-rewrite-copy-notes never existed 2011-01-10 09:09:02 -08:00
gitignore.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
gitk.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
gitmodules.txt Merge branch 'jl/submodule-fetch-on-demand' 2011-04-04 15:02:01 -07:00
gitrepository-layout.txt Documentation: spelling fixes 2010-07-20 16:59:17 -07:00
gitrevisions.txt Documentation: gitrevisions 2010-07-05 13:39:02 -07:00
gittutorial-2.txt Better "Changed but not updated" message in git-status 2010-11-03 09:18:58 -07:00
gittutorial.txt Change remote tracking to remote-tracking in non-trivial places 2010-11-03 09:19:08 -07:00
gitworkflows.txt
glossary-content.txt t3703, t4208: add test cases for magic pathspec 2011-05-10 12:42:59 -07:00
howto-index.sh
i18n.txt
install-doc-quick.sh
install-webdoc.sh install-webdoc: keep installed RelNotes-*.txt 2010-09-09 16:17:59 -07:00
mailmap.txt
Makefile docs: default to more modern toolset 2010-11-24 15:13:58 -08:00
manpage-1.72.xsl
manpage-base-url.xsl.in
manpage-base.xsl
manpage-bold-literal.xsl
manpage-normal.xsl
manpage-quote-apos.xsl
manpage-suppress-sp.xsl
merge-config.txt merge: introduce merge.ff configuration variable 2011-05-06 15:12:30 -07:00
merge-options.txt merge: enable progress reporting for rename detection 2011-02-21 10:24:08 -08:00
merge-strategies.txt Merge branch 'kb/merge-recursive-rename-threshold' 2010-10-26 21:54:04 -07:00
pretty-formats.txt pretty: Introduce ' ' modifier to add space if non-empty 2010-06-16 14:45:09 -07:00
pretty-options.txt Add log.abbrevCommit config variable 2011-05-18 12:40:15 -07:00
pull-fetch-param.txt
rev-list-options.txt show: --ignore-missing 2011-05-19 10:55:54 -07:00
revisions.txt revisions.txt: language improvements 2011-04-04 16:43:57 -07:00
SubmittingPatches Documentation: publicize hints for sending patches with GMail 2011-04-15 13:28:03 -07:00
urls-remotes.txt
urls.txt Documentation: spelling fixes 2010-07-20 16:59:17 -07:00
user-manual.conf
user-manual.txt user-manual: remote-tracking can be checked out, with detached HEAD 2010-11-03 09:20:48 -07:00